diff --git a/org.eclipse.mylyn.reviews.VCalendar/build.properties b/org.eclipse.mylyn.reviews.VCalendar/build.properties
index ebe0275..d8057e9 100644
--- a/org.eclipse.mylyn.reviews.VCalendar/build.properties
+++ b/org.eclipse.mylyn.reviews.VCalendar/build.properties
@@ -1,3 +1,13 @@
+###############################################################################
+# Copyright (c) 2012 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Ericsson AB - initial API and implementation
+###############################################################################
 source.. = src/
 output.. = bin/
 bin.includes = META-INF/,\
diff --git a/org.eclipse.mylyn.reviews.VCalendar/plugin.properties b/org.eclipse.mylyn.reviews.VCalendar/plugin.properties
index 3e08f55..f068788 100644
--- a/org.eclipse.mylyn.reviews.VCalendar/plugin.properties
+++ b/org.eclipse.mylyn.reviews.VCalendar/plugin.properties
@@ -1,11 +1,12 @@
-/**
- * Copyright (c) 2010 Ericsson
- *  
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- */
+###############################################################################
+# Copyright (c) 2012 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Ericsson AB - initial API and implementation
+###############################################################################
 pluginName = Mylyn Reviews R4E (Incubation)
 providerName = Eclipse Mylyn
diff --git a/org.eclipse.mylyn.reviews.VCalendar/src/org/eclipse/mylyn/reviews/vcalendar/core/VCalendar.java b/org.eclipse.mylyn.reviews.VCalendar/src/org/eclipse/mylyn/reviews/vcalendar/core/VCalendar.java
index 9f93210..48d18cc 100644
--- a/org.eclipse.mylyn.reviews.VCalendar/src/org/eclipse/mylyn/reviews/vcalendar/core/VCalendar.java
+++ b/org.eclipse.mylyn.reviews.VCalendar/src/org/eclipse/mylyn/reviews/vcalendar/core/VCalendar.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -7,7 +7,7 @@
  * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
- *    Ericsson Research Canada - Initial implementation
+ *    Ericsson AB - Initial implementation
  * 
  */
 package org.eclipse.mylyn.reviews.vcalendar.core;
diff --git a/org.eclipse.mylyn.reviews.frame.core/build.properties b/org.eclipse.mylyn.reviews.frame.core/build.properties
index 90dc876..a08e523 100644
--- a/org.eclipse.mylyn.reviews.frame.core/build.properties
+++ b/org.eclipse.mylyn.reviews.frame.core/build.properties
@@ -1,8 +1,13 @@
-
-# <copyright>
-# </copyright>
-#
-# $Id$
+###############################################################################
+# Copyright (c) 2012 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Ericsson AB - initial API and implementation
+###############################################################################
 
 bin.includes = .,\
                model/,\
diff --git a/org.eclipse.mylyn.reviews.frame.core/plugin.properties b/org.eclipse.mylyn.reviews.frame.core/plugin.properties
index 24e8a1d..bdb2016 100644
--- a/org.eclipse.mylyn.reviews.frame.core/plugin.properties
+++ b/org.eclipse.mylyn.reviews.frame.core/plugin.properties
@@ -1,8 +1,13 @@
-
-# <copyright>
-# </copyright>
-#
-# $Id$
+###############################################################################
+# Copyright (c) 2012 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Ericsson AB - initial API and implementation
+###############################################################################
 
 pluginName = Mylyn Reviews (Incubation)
 providerName = Eclipse Mylyn
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/Comment.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/Comment.java
index e8ab464..a316833 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/Comment.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/Comment.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/CommentType.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/CommentType.java
index ff86c54..203c3e8 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/CommentType.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/CommentType.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/Item.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/Item.java
index 50dc113..39545cb 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/Item.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/Item.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/Location.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/Location.java
index 560c8d3..91461f6 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/Location.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/Location.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/ModelFactory.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/ModelFactory.java
index e957e38..b90db71 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/ModelFactory.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/ModelFactory.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/ModelPackage.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/ModelPackage.java
index b7cc55e..49a8a4c 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/ModelPackage.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/ModelPackage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/Review.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/Review.java
index 0883e40..4c71412 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/Review.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/Review.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/ReviewComponent.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/ReviewComponent.java
index b80082c..e686325 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/ReviewComponent.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/ReviewComponent.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/ReviewGroup.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/ReviewGroup.java
index 086af22..98132e3 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/ReviewGroup.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/ReviewGroup.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/ReviewState.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/ReviewState.java
index cee34e6..fc1c63d 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/ReviewState.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/ReviewState.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/TaskReference.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/TaskReference.java
index 2f267c8..a602fc6 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/TaskReference.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/TaskReference.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/Topic.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/Topic.java
index cafe9d6..f271006 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/Topic.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/Topic.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/User.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/User.java
index ae8bf89..53f86b9 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/User.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/User.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/CommentImpl.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/CommentImpl.java
index f795aff..3310b4d 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/CommentImpl.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/CommentImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/CommentTypeImpl.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/CommentTypeImpl.java
index 02e4d8b..7b911d7 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/CommentTypeImpl.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/CommentTypeImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ItemImpl.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ItemImpl.java
index 94511cc..9c17f92 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ItemImpl.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ItemImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/LocationImpl.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/LocationImpl.java
index ff5335c..d25bf5c 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/LocationImpl.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/LocationImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ModelFactoryImpl.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ModelFactoryImpl.java
index f51e6aa..0aa7803 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ModelFactoryImpl.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ModelFactoryImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ModelPackageImpl.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ModelPackageImpl.java
index caf9c9f..318c9cc 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ModelPackageImpl.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ModelPackageImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ReviewComponentImpl.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ReviewComponentImpl.java
index e8c50ef..f8ffd07 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ReviewComponentImpl.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ReviewComponentImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ReviewGroupImpl.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ReviewGroupImpl.java
index d0d6fe6..63ac366 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ReviewGroupImpl.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ReviewGroupImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ReviewImpl.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ReviewImpl.java
index 23d2432..857eec8 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ReviewImpl.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ReviewImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ReviewStateImpl.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ReviewStateImpl.java
index f9c1af7..2e98c1a 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ReviewStateImpl.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/ReviewStateImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/TaskReferenceImpl.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/TaskReferenceImpl.java
index d46a565..180fb7e 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/TaskReferenceImpl.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/TaskReferenceImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/TopicImpl.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/TopicImpl.java
index 4f863e0..01f20d0 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/TopicImpl.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/TopicImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/UserImpl.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/UserImpl.java
index 12e3f95..d1b4109 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/UserImpl.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/impl/UserImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/util/ModelAdapterFactory.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/util/ModelAdapterFactory.java
index 39a60cd..aaeb0de 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/util/ModelAdapterFactory.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/util/ModelAdapterFactory.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/util/ModelSwitch.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/util/ModelSwitch.java
index 533ebca..84d924b 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/util/ModelSwitch.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/model/util/ModelSwitch.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/utils/Tracer.java b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/utils/Tracer.java
index 74c9f38..faf3544 100644
--- a/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/utils/Tracer.java
+++ b/org.eclipse.mylyn.reviews.frame.core/src/org/eclipse/mylyn/reviews/frame/core/utils/Tracer.java
@@ -1,20 +1,13 @@
-/*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
- * 
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Description:
- * 
- * This class implements a simple trace facility using Eclipse that can be used to send debugging
- * output to the console and/or to file.  It supports various levels of tracing
- * 
- * Contributors:
- *   Sebastien Dubois - Created for Mylyn Review Framework project
- *   
- *******************************************************************************/
+/*******************************************************************************
+ * Copyright (c) 2012 Ericsson AB and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Ericsson AB - initial API and implementation
+ *******************************************************************************/
 
 
 package org.eclipse.mylyn.reviews.frame.core.utils;
@@ -30,7 +23,10 @@
 
 // ESCA-JAVA0100:
 /**
- * @author lmcdubo
+ * This class implements a simple trace facility using Eclipse that can be used to send debugging
+ * output to the console and/or to file.  It supports various levels of tracing
+ * 
+ * @author Sebastien Dubois
  * 
  */
 public class Tracer {
diff --git a/org.eclipse.mylyn.reviews.notifications/build.properties b/org.eclipse.mylyn.reviews.notifications/build.properties
index 8665ac2..1a15558 100644
--- a/org.eclipse.mylyn.reviews.notifications/build.properties
+++ b/org.eclipse.mylyn.reviews.notifications/build.properties
@@ -1,3 +1,13 @@
+###############################################################################
+# Copyright (c) 2012 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Ericsson AB - initial API and implementation
+###############################################################################
 source.. = src/
 output.. = bin/
 bin.includes = META-INF/,\
diff --git a/org.eclipse.mylyn.reviews.notifications/plugin.properties b/org.eclipse.mylyn.reviews.notifications/plugin.properties
index 3e08f55..f068788 100644
--- a/org.eclipse.mylyn.reviews.notifications/plugin.properties
+++ b/org.eclipse.mylyn.reviews.notifications/plugin.properties
@@ -1,11 +1,12 @@
-/**
- * Copyright (c) 2010 Ericsson
- *  
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- */
+###############################################################################
+# Copyright (c) 2012 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Ericsson AB - initial API and implementation
+###############################################################################
 pluginName = Mylyn Reviews R4E (Incubation)
 providerName = Eclipse Mylyn
diff --git a/org.eclipse.mylyn.reviews.notifications/src/org/eclipse/mylyn/reviews/notifications/core/IMeetingData.java b/org.eclipse.mylyn.reviews.notifications/src/org/eclipse/mylyn/reviews/notifications/core/IMeetingData.java
index 4c90c9f..e41b5d0 100644
--- a/org.eclipse.mylyn.reviews.notifications/src/org/eclipse/mylyn/reviews/notifications/core/IMeetingData.java
+++ b/org.eclipse.mylyn.reviews.notifications/src/org/eclipse/mylyn/reviews/notifications/core/IMeetingData.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -7,7 +7,7 @@
  * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
- *    Ericsson Research Canada - Initial API and implementation
+ *    Ericsson AB - Initial API and implementation
  * 
  */
 package org.eclipse.mylyn.reviews.notifications.core;
diff --git a/org.eclipse.mylyn.reviews.notifications/src/org/eclipse/mylyn/reviews/notifications/core/NotificationFilter.java b/org.eclipse.mylyn.reviews.notifications/src/org/eclipse/mylyn/reviews/notifications/core/NotificationFilter.java
index dbcdc42..d97a893 100644
--- a/org.eclipse.mylyn.reviews.notifications/src/org/eclipse/mylyn/reviews/notifications/core/NotificationFilter.java
+++ b/org.eclipse.mylyn.reviews.notifications/src/org/eclipse/mylyn/reviews/notifications/core/NotificationFilter.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -7,7 +7,7 @@
  * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
- *    Ericsson Research Canada - Initial API and implementation
+ *    Ericsson AB - Initial API and implementation
  * 
  */
 package org.eclipse.mylyn.reviews.notifications.core;
diff --git a/org.eclipse.mylyn.reviews.notifications/src/org/eclipse/mylyn/reviews/notifications/core/NotificationsCore.java b/org.eclipse.mylyn.reviews.notifications/src/org/eclipse/mylyn/reviews/notifications/core/NotificationsCore.java
index 66f1868..f737557 100644
--- a/org.eclipse.mylyn.reviews.notifications/src/org/eclipse/mylyn/reviews/notifications/core/NotificationsCore.java
+++ b/org.eclipse.mylyn.reviews.notifications/src/org/eclipse/mylyn/reviews/notifications/core/NotificationsCore.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -7,7 +7,7 @@
  * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
- *    Ericsson Research Canada - Initial API and implementation
+ *    Ericsson AB - Initial API and implementation
  * 
  */
 package org.eclipse.mylyn.reviews.notifications.core;
diff --git a/org.eclipse.mylyn.reviews.notifications/src/org/eclipse/mylyn/reviews/notifications/internal/core/MeetingData.java b/org.eclipse.mylyn.reviews.notifications/src/org/eclipse/mylyn/reviews/notifications/internal/core/MeetingData.java
index 9397d61..7e942d7 100644
--- a/org.eclipse.mylyn.reviews.notifications/src/org/eclipse/mylyn/reviews/notifications/internal/core/MeetingData.java
+++ b/org.eclipse.mylyn.reviews.notifications/src/org/eclipse/mylyn/reviews/notifications/internal/core/MeetingData.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -7,7 +7,7 @@
  * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
- *    Ericsson Research Canada - Initial API and implementation
+ *    Ericsson AB - Initial API and implementation
  * 
  */
 package org.eclipse.mylyn.reviews.notifications.internal.core;
diff --git a/org.eclipse.mylyn.reviews.notifications/src/org/eclipse/mylyn/reviews/notifications/spi/NotificationsConnector.java b/org.eclipse.mylyn.reviews.notifications/src/org/eclipse/mylyn/reviews/notifications/spi/NotificationsConnector.java
index 6a39528..8dd5315 100644
--- a/org.eclipse.mylyn.reviews.notifications/src/org/eclipse/mylyn/reviews/notifications/spi/NotificationsConnector.java
+++ b/org.eclipse.mylyn.reviews.notifications/src/org/eclipse/mylyn/reviews/notifications/spi/NotificationsConnector.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -7,7 +7,7 @@
  * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
- *    Ericsson Research Canada - Initial API and implementation
+ *    Ericsson AB - Initial API and implementation
  * 
  */
 package org.eclipse.mylyn.reviews.notifications.spi;
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/build.properties b/org.eclipse.mylyn.reviews.r4e.core.tests/build.properties
index ced3c23..c589611 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/build.properties
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/build.properties
@@ -1,8 +1,13 @@
-
-# <copyright>
-# </copyright>
-#
-# $Id$
+###############################################################################
+# Copyright (c) 2012 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Ericsson AB - initial API and implementation
+###############################################################################
 
 bin.includes = .,\
                META-INF/,\
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/egit/core/test/DualRepositoryTestCase.java b/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/egit/core/test/DualRepositoryTestCase.java
index 73f32ee..0256b98 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/egit/core/test/DualRepositoryTestCase.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/egit/core/test/DualRepositoryTestCase.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (C) 2010, Mathias Kinzler <mathias.kinzler@sap.com>
+ * Copyright (C) 2010, 2012, Mathias Kinzler <mathias.kinzler@sap.com>
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/egit/core/test/GitTestCase.java b/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/egit/core/test/GitTestCase.java
index 4cd502a..76bdded 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/egit/core/test/GitTestCase.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/egit/core/test/GitTestCase.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (C) 2007, Robin Rosenberg <robin.rosenberg@dewire.com>
+ * Copyright (C) 2007, 2012, Robin Rosenberg <robin.rosenberg@dewire.com>
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/egit/core/test/TestProject.java b/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/egit/core/test/TestProject.java
index b91adb7..90822b8 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/egit/core/test/TestProject.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/egit/core/test/TestProject.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (C) 2007, Robin Rosenberg <robin.rosenberg@dewire.com>
+ * Copyright (C) 2007, 2012, Robin Rosenberg <robin.rosenberg@dewire.com>
  * Copyright (C) 2006, Shawn O. Pearce <spearce@spearce.org>
  *
  * All rights reserved. This program and the accompanying materials
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/egit/core/test/TestRepository.java b/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/egit/core/test/TestRepository.java
index a7b290b..cb4baee 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/egit/core/test/TestRepository.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/egit/core/test/TestRepository.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (C) 2011, Mathias Kinzler <mathias.kinzler@sap.com>
+ * Copyright (C) 2011, 2012, Mathias Kinzler <mathias.kinzler@sap.com>
  * Copyright (C) 2010, Jens Baumgart <jens.baumgart@sap.com>
  *
  * All rights reserved. This program and the accompanying materials
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/egit/core/test/TestUtils.java b/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/egit/core/test/TestUtils.java
index bc68584..214ae07 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/egit/core/test/TestUtils.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/egit/core/test/TestUtils.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (C) 2007, Robin Rosenberg <robin.rosenberg@dewire.com>
+ * Copyright (C) 2007, 2012, Robin Rosenberg <robin.rosenberg@dewire.com>
  * Copyright (C) 2010, Jens Baumgart <jens.baumgart@sap.com>
  * Copyright (C) 2010, Mathias Kinzler <mathias.kinzler@sap.com>
  *
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/jgit/junit/MockSystemReader.java b/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/jgit/junit/MockSystemReader.java
index b53dce2..c8b93b7 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/jgit/junit/MockSystemReader.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/egitImport/org/eclipse/jgit/junit/MockSystemReader.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2009, Google Inc.
+ * Copyright (C) 2009, 2012, Google Inc.
  * Copyright (C) 2009, Robin Rosenberg <robin.rosenberg@dewire.com>
  * Copyright (C) 2009, Yann Simon <yann.simon.fr@gmail.com>
  * and other copyright owners as documented in the project's IP log.
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/plugin.properties b/org.eclipse.mylyn.reviews.r4e.core.tests/plugin.properties
index 7776784..f068788 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/plugin.properties
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/plugin.properties
@@ -1,11 +1,12 @@
-/**
- * Copyright (c) 2010 Ericsson
- *  
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- */
+###############################################################################
+# Copyright (c) 2012 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Ericsson AB - initial API and implementation
+###############################################################################
 pluginName = Mylyn Reviews R4E (Incubation)
 providerName = Eclipse Mylyn
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/R4ECoreAllTests.java b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/R4ECoreAllTests.java
index ec67ce6..ab6f2e8 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/R4ECoreAllTests.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/R4ECoreAllTests.java
@@ -1,6 +1,6 @@
 /**
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/TstGeneral.java b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/TstGeneral.java
index 691cd99..e7fa847 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/TstGeneral.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/TstGeneral.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/PersistenceTest.java b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/PersistenceTest.java
index 180e0e0..1625bce 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/PersistenceTest.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/PersistenceTest.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -42,7 +42,7 @@
 import org.junit.Before;
 
 /**
- * @author lmcalvs
+ * @author Alvaro Sanchez-Leon
  * 
  */
 public class PersistenceTest extends TestCase {
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/ChangeResControllerTest.java b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/ChangeResControllerTest.java
index bc001c6..c278a55 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/ChangeResControllerTest.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/ChangeResControllerTest.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -38,7 +38,7 @@
  *
  * @generatedBy CodePro at 22/11/10 8:47 AM
  *
- * @author lmcalvs
+ * @author Alvaro Sanchez-Leon
  *
  * @version $Revision$
  */
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/CommonTest.java b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/CommonTest.java
index 9cc4700..a297597 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/CommonTest.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/CommonTest.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -36,7 +36,7 @@
  *
  * @generatedBy CodePro at 04/11/10 9:17 AM
  *
- * @author lmcalvs
+ * @author Alvaro Sanchez-Leon
  *
  * @version $Revision$
  */
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/GoldenStubHandler.java b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/GoldenStubHandler.java
index 10a18cf..ad020b0 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/GoldenStubHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/GoldenStubHandler.java
@@ -1,6 +1,6 @@
 /**
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/ModelExample.java b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/ModelExample.java
index ff4c456..6be1e7b 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/ModelExample.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/ModelExample.java
@@ -1,6 +1,6 @@
 /**
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/ModelTests.java b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/ModelTests.java
index 82edce5..3bd8b85 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/ModelTests.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/ModelTests.java
@@ -1,6 +1,6 @@
 /**
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/R4EReviewGroupTest.java b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/R4EReviewGroupTest.java
index 37b4f09..5d7dab1 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/R4EReviewGroupTest.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/R4EReviewGroupTest.java
@@ -1,6 +1,6 @@
 /**
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/R4ETest.java b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/R4ETest.java
index 99455d6..f793f03 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/R4ETest.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/R4ETest.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -18,7 +18,7 @@
 package org.eclipse.mylyn.reviews.r4e.core.model.tests;
 
 /**
- * @author lmcalvs
+ * @author Alvaro Sanchez-Leon
  *
  */
 public interface R4ETest {
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/R4eAllTests.java b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/R4eAllTests.java
index aff944c..f7976b7 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/R4eAllTests.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/model/tests/R4eAllTests.java
@@ -1,6 +1,6 @@
 /**
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/OSPermissionTest.java b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/OSPermissionTest.java
index de51f2c..a05f200 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/OSPermissionTest.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/OSPermissionTest.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -31,7 +31,7 @@
  *
  * @generatedBy CodePro at 18/11/10 8:22 AM
  *
- * @author lmcalvs
+ * @author Alvaro Sanchez-Leon
  *
  * @version $Revision$
  */
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/tests/R4ETransformAllTests.java b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/tests/R4ETransformAllTests.java
index 1b0b766..c49baae 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/tests/R4ETransformAllTests.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/tests/R4ETransformAllTests.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson AB and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/tests/ReviewGroupResTest.java b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/tests/ReviewGroupResTest.java
index 8013160..2a475f9 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/tests/ReviewGroupResTest.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/tests/ReviewGroupResTest.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson AB and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -196,7 +196,7 @@
 //		// From Objects to Disk
 //		R4EReviewGroup loadedGroup = null;
 //		URI origURI = URI
-//				.createFileURI("C:/Users/lmcalvs/OpenReviews/ReportTrans/ReportTrans_group_root.xrer");
+//				.createFileURI("C:/Users/Alvaro Sanchez-Leon/OpenReviews/ReportTrans/ReportTrans_group_root.xrer");
 //
 //		try {
 //			loadedGroup = fFactory.openR4EReviewGroup(origURI);
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/tests/ReviewResTest.java b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/tests/ReviewResTest.java
index aa413d5..6fcd353 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/tests/ReviewResTest.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/tests/ReviewResTest.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson AB and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/tests/TransResExample.java b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/tests/TransResExample.java
index 2fe0a34..8415e24 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/tests/TransResExample.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/tests/TransResExample.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson AB and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/tests/TransResTests.java b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/tests/TransResTests.java
index d08290c..1b0be18 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/tests/TransResTests.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/tests/TransResTests.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson AB and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/stubs/org/eclipse/mylyn/reviews/r4e/core/model/impl/GroupSampl.java b/org.eclipse.mylyn.reviews.r4e.core.tests/stubs/org/eclipse/mylyn/reviews/r4e/core/model/impl/GroupSampl.java
index d750719..f310e08 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/stubs/org/eclipse/mylyn/reviews/r4e/core/model/impl/GroupSampl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/stubs/org/eclipse/mylyn/reviews/r4e/core/model/impl/GroupSampl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -114,7 +114,7 @@
 		}
 
 		try {
-			R4EReview review1 = factory.createR4EReview(fgroup, "Review1", "lmcalvs");
+			R4EReview review1 = factory.createR4EReview(fgroup, "Review1", "Alvaro Sanchez-Leon");
 			Calendar indCal = new GregorianCalendar(1867, Calendar.JULY, 1);
 			Date startDate = indCal.getTime();
 			// 2 days after
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/stubs/org/eclipse/mylyn/reviews/r4e/core/model/impl/ReviewSampl.java b/org.eclipse.mylyn.reviews.r4e.core.tests/stubs/org/eclipse/mylyn/reviews/r4e/core/model/impl/ReviewSampl.java
index 686ed83..a34bb68 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/stubs/org/eclipse/mylyn/reviews/r4e/core/model/impl/ReviewSampl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/stubs/org/eclipse/mylyn/reviews/r4e/core/model/impl/ReviewSampl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -54,7 +54,7 @@
 import org.eclipse.mylyn.reviews.r4e.core.model.serial.impl.SerializeFactory;
 
 /**
- * @author lmcalvs
+ * @author Alvaro Sanchez-Leon
  *
  */
 public class ReviewSampl {
diff --git a/org.eclipse.mylyn.reviews.r4e.core.tests/stubs/org/eclipse/mylyn/reviews/r4e/core/model/impl/SampleR4EModel.java b/org.eclipse.mylyn.reviews.r4e.core.tests/stubs/org/eclipse/mylyn/reviews/r4e/core/model/impl/SampleR4EModel.java
index 7e21dae..a228549 100644
--- a/org.eclipse.mylyn.reviews.r4e.core.tests/stubs/org/eclipse/mylyn/reviews/r4e/core/model/impl/SampleR4EModel.java
+++ b/org.eclipse.mylyn.reviews.r4e.core.tests/stubs/org/eclipse/mylyn/reviews/r4e/core/model/impl/SampleR4EModel.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -47,7 +47,7 @@
 		// Check out resource set
 		Long bookingNum = 0L;
 		try {
-			bookingNum = fSetUpdater.checkOut(fGroup, "lmcalvs");
+			bookingNum = fSetUpdater.checkOut(fGroup, "Alvaro Sanchez-Leon");
 		} catch (ResourceHandlingException e) {
 			e.printStackTrace();
 		} catch (OutOfSyncException e) {
diff --git a/org.eclipse.mylyn.reviews.r4e.core/build.properties b/org.eclipse.mylyn.reviews.r4e.core/build.properties
index cc0f9b7..07c7d85 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/build.properties
+++ b/org.eclipse.mylyn.reviews.r4e.core/build.properties
@@ -1,8 +1,13 @@
-
-# <copyright>
-# </copyright>
-#
-# $Id$
+###############################################################################
+# Copyright (c) 2012 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Ericsson AB - initial API and implementation
+###############################################################################
 
 bin.includes = .,\
                META-INF/,\
diff --git a/org.eclipse.mylyn.reviews.r4e.core/plugin.properties b/org.eclipse.mylyn.reviews.r4e.core/plugin.properties
index 8deb765..f068788 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/plugin.properties
+++ b/org.eclipse.mylyn.reviews.r4e.core/plugin.properties
@@ -1,13 +1,12 @@
-/**
- * Copyright (c) 2011 Ericsson AB and others.
- *  
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *      Ericsson AB - initial API and implementation
- */
+###############################################################################
+# Copyright (c) 2012 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Ericsson AB - initial API and implementation
+###############################################################################
 pluginName = Mylyn Reviews R4E (Incubation)
 providerName = Eclipse Mylyn
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/Activator.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/Activator.java
index e80f3fd..1b82ba5 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/Activator.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/Activator.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EAnomaly.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EAnomaly.java
index 97a7846..44c1749 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EAnomaly.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EAnomaly.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EAnomalyState.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EAnomalyState.java
index cfebe47..0e0d459 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EAnomalyState.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EAnomalyState.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EAnomalyTextPosition.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EAnomalyTextPosition.java
index 7bfa4ee..aa9d1b7 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EAnomalyTextPosition.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EAnomalyTextPosition.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EAnomalyType.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EAnomalyType.java
index 436666d..b514e77 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EAnomalyType.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EAnomalyType.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EComment.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EComment.java
index 4b0170c..a81dd32 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EComment.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EComment.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4ECommentType.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4ECommentType.java
index 5f3cbc9..21d1762 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4ECommentType.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4ECommentType.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EContent.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EContent.java
index 4ff9eb4..a38befb 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EContent.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EContent.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EContextType.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EContextType.java
index 2aff5b6..a37f19e 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EContextType.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EContextType.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EDecision.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EDecision.java
index cd4b91f..6824f14 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EDecision.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EDecision.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EDelta.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EDelta.java
index ae3271a..304993c 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EDelta.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EDelta.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EFileContext.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EFileContext.java
index fc899da..467acb6 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EFileContext.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EFileContext.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EFileVersion.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EFileVersion.java
index e35db2c..1c4f365 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EFileVersion.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EFileVersion.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EFormalReview.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EFormalReview.java
index 517c796..805adb5 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EFormalReview.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EFormalReview.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EID.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EID.java
index ef0fc14..d7605ef 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EID.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EID.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EIDComponent.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EIDComponent.java
index 8c75c6e..e9a8f84 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EIDComponent.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EIDComponent.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EItem.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EItem.java
index 4c0249a..b2105fb 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EItem.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EItem.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EMeetingData.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EMeetingData.java
index 7f47cd7..f248860 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EMeetingData.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EMeetingData.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EParticipant.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EParticipant.java
index 0d60140..b2cabe6 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EParticipant.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EParticipant.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EPosition.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EPosition.java
index 0da4f01..124da09 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EPosition.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EPosition.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReview.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReview.java
index b37088d..8845e4a 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReview.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReview.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewComponent.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewComponent.java
index 0a17950..4691d65 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewComponent.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewComponent.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewDecision.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewDecision.java
index d2482bc..ceda960 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewDecision.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewDecision.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewGroup.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewGroup.java
index 5e1acf0..e5bfd88 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewGroup.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewGroup.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewPhase.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewPhase.java
index d5edd48..ff8ed6d 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewPhase.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewPhase.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewPhaseInfo.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewPhaseInfo.java
index 46ba446..3bdb6f3 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewPhaseInfo.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewPhaseInfo.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewState.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewState.java
index 065ded1..8ea9503 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewState.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewState.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewType.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewType.java
index 3bd63f0..3bb2f1d 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewType.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EReviewType.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4ETaskReference.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4ETaskReference.java
index 1d8f348..23f9d19 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4ETaskReference.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4ETaskReference.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4ETextContent.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4ETextContent.java
index 08c2eb8..28cb8ad 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4ETextContent.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4ETextContent.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4ETextPosition.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4ETextPosition.java
index be6d92b..f0ad8a9 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4ETextPosition.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4ETextPosition.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EUser.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EUser.java
index c09c9aa..b637ed0 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EUser.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EUser.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EUserReviews.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EUserReviews.java
index f6859d2..727d22e 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EUserReviews.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EUserReviews.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EUserRole.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EUserRole.java
index 1aa08ce..3379a22 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EUserRole.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/R4EUserRole.java
@@ -1,6 +1,6 @@
 /**
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/RModelFactory.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/RModelFactory.java
index 24b7671..5100fbd 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/RModelFactory.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/RModelFactory.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/RModelPackage.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/RModelPackage.java
index bad5809..03404c0 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/RModelPackage.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/RModelPackage.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/DRModelFactory.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/DRModelFactory.java
index 90be6b2..1c19a7f 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/DRModelFactory.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/DRModelFactory.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/DRModelPackage.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/DRModelPackage.java
index 0a7be2a..d0c8f61 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/DRModelPackage.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/DRModelPackage.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRule.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRule.java
index 83d034c..2dccdd9 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRule.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRule.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRuleArea.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRuleArea.java
index d6afc5f..bf2ea20 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRuleArea.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRuleArea.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRuleClass.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRuleClass.java
index 52b80f1..4d85a47 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRuleClass.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRuleClass.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRuleCollection.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRuleCollection.java
index 84b0a63..0f696d5 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRuleCollection.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRuleCollection.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRuleRank.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRuleRank.java
index a8c399c..a7d1c98 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRuleRank.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRuleRank.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRuleViolation.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRuleViolation.java
index be54f6a..5c6afa0 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRuleViolation.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/R4EDesignRuleViolation.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/DRModelFactoryImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/DRModelFactoryImpl.java
index ccc46cd..287431c 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/DRModelFactoryImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/DRModelFactoryImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/DRModelPackageImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/DRModelPackageImpl.java
index e5fc8e3..8419c11 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/DRModelPackageImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/DRModelPackageImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/R4EDesignRuleAreaImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/R4EDesignRuleAreaImpl.java
index fb924d0..68e5968 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/R4EDesignRuleAreaImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/R4EDesignRuleAreaImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/R4EDesignRuleCollectionImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/R4EDesignRuleCollectionImpl.java
index a707c26..9fe2b9d 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/R4EDesignRuleCollectionImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/R4EDesignRuleCollectionImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/R4EDesignRuleImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/R4EDesignRuleImpl.java
index e8df79b..7aa1f8b 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/R4EDesignRuleImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/R4EDesignRuleImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/R4EDesignRuleViolationImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/R4EDesignRuleViolationImpl.java
index 4bd81b7..ebba763 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/R4EDesignRuleViolationImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/impl/R4EDesignRuleViolationImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/util/DRModelAdapterFactory.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/util/DRModelAdapterFactory.java
index 1e3ee26..ac4b5ef 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/util/DRModelAdapterFactory.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/util/DRModelAdapterFactory.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/util/DRModelSwitch.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/util/DRModelSwitch.java
index 45994d9..5022d15 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/util/DRModelSwitch.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/util/DRModelSwitch.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapDateToDurationImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapDateToDurationImpl.java
index a5d1e92..71e9b4c 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapDateToDurationImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapDateToDurationImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapIDToComponentImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapIDToComponentImpl.java
index b23921c..062fcf3 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapIDToComponentImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapIDToComponentImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapKeyToInfoAttributesImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapKeyToInfoAttributesImpl.java
index 38193c7..a717b63 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapKeyToInfoAttributesImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapKeyToInfoAttributesImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapNameToReviewImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapNameToReviewImpl.java
index 6ff9c78..82f1c72 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapNameToReviewImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapNameToReviewImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapToUsersImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapToUsersImpl.java
index 6f65ac9..bb8d12a 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapToUsersImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapToUsersImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapUserIDToUserReviewsImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapUserIDToUserReviewsImpl.java
index f116144..4f9f643 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapUserIDToUserReviewsImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/MapUserIDToUserReviewsImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EAnomalyImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EAnomalyImpl.java
index a64b4a2..f83b260 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EAnomalyImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EAnomalyImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EAnomalyTextPositionImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EAnomalyTextPositionImpl.java
index 841b539..1b394fd 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EAnomalyTextPositionImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EAnomalyTextPositionImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EAnomalyTypeImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EAnomalyTypeImpl.java
index 6c58626..400a468 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EAnomalyTypeImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EAnomalyTypeImpl.java
@@ -1,6 +1,6 @@
 /**
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4ECommentImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4ECommentImpl.java
index 35bb2b5..ef39abb 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4ECommentImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4ECommentImpl.java
@@ -1,6 +1,6 @@
 /**
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4ECommentTypeImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4ECommentTypeImpl.java
index e996047..e237652 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4ECommentTypeImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4ECommentTypeImpl.java
@@ -1,6 +1,6 @@
 /**
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EContentImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EContentImpl.java
index b03d24a..cafad2b 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EContentImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EContentImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EDeltaImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EDeltaImpl.java
index 73fb50f..9e5a1ef 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EDeltaImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EDeltaImpl.java
@@ -1,6 +1,6 @@
 /**
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EFileContextImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EFileContextImpl.java
index 93854da..6ac875b 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EFileContextImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EFileContextImpl.java
@@ -1,6 +1,6 @@
 /**
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EFileVersionImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EFileVersionImpl.java
index b6cea10..257cd49 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EFileVersionImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EFileVersionImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EFormalReviewImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EFormalReviewImpl.java
index 61e95d6..a870ae3 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EFormalReviewImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EFormalReviewImpl.java
@@ -1,6 +1,6 @@
 /**
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EIDComponentImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EIDComponentImpl.java
index 43adfd7..0f6fa5c 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EIDComponentImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EIDComponentImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EIDImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EIDImpl.java
index a79e2e6..6704ca0 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EIDImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EIDImpl.java
@@ -1,6 +1,6 @@
 /**
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EItemImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EItemImpl.java
index c83b3ae..ed590bb 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EItemImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EItemImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EMeetingDataImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EMeetingDataImpl.java
index b2003cd..d85d9ad 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EMeetingDataImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EMeetingDataImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EParticipantImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EParticipantImpl.java
index 1d90b98..bb5b964 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EParticipantImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EParticipantImpl.java
@@ -1,6 +1,6 @@
 /**
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EPositionImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EPositionImpl.java
index fe3f347..d21f16b 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EPositionImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EPositionImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewComponentImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewComponentImpl.java
index ce32c0f..48315d8 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewComponentImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewComponentImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewDecisionImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewDecisionImpl.java
index 29d037e..411682b 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewDecisionImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewDecisionImpl.java
@@ -1,6 +1,6 @@
 /**
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewGroupImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewGroupImpl.java
index 9595886..24b06b2 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewGroupImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewGroupImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewImpl.java
index 143ab6d..d520796 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewImpl.java
@@ -1,6 +1,6 @@
 /**
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewPhaseInfoImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewPhaseInfoImpl.java
index a085a24..08dce92 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewPhaseInfoImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewPhaseInfoImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewStateImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewStateImpl.java
index e9a8613..a520479 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewStateImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewStateImpl.java
@@ -1,6 +1,6 @@
 /**
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4ETaskReferenceImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4ETaskReferenceImpl.java
index dd25fa0..f32af26 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4ETaskReferenceImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4ETaskReferenceImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4ETextContentImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4ETextContentImpl.java
index db9fada..ddf971c 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4ETextContentImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4ETextContentImpl.java
@@ -1,6 +1,6 @@
 /**
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4ETextPositionImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4ETextPositionImpl.java
index 24ffccb..8864d83 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4ETextPositionImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4ETextPositionImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EUserImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EUserImpl.java
index 41ba059..d57e40e 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EUserImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EUserImpl.java
@@ -1,6 +1,6 @@
 /**
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EUserReviewsImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EUserReviewsImpl.java
index 472f21d..adba666 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EUserReviewsImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EUserReviewsImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/RModelFactoryImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/RModelFactoryImpl.java
index 8b48a8e..8c53621 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/RModelFactoryImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/RModelFactoryImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/RModelPackageImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/RModelPackageImpl.java
index 1bfce19..d9d6c52 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/RModelPackageImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/RModelPackageImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/IRWUserBasedRes.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/IRWUserBasedRes.java
index cdc1cca..6d49b64 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/IRWUserBasedRes.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/IRWUserBasedRes.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson AB and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/Persistence.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/Persistence.java
index b9ae9d9..b18a69a 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/Persistence.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/Persistence.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -48,7 +48,7 @@
 import org.eclipse.mylyn.reviews.r4e.core.model.serial.impl.ResourceHandlingException;
 
 /**
- * @author lmcalvs
+ * @author Alvaro Sanchez-Leon
  *
  */
 public interface Persistence {
@@ -505,7 +505,7 @@
 	/**
 	 * Limit visibility to the methods related to construction for Persistence
 	 * 
-	 * @author lmcalvs
+	 * @author Alvaro Sanchez-Leon
 	 * 
 	 */
 	public interface RModelFactoryExt extends Persistence, Persistence.GroupResFactory, Persistence.ReviewResFactory,
@@ -517,7 +517,7 @@
 	/**
 	 * Interface to resolve the Resource serialization state (Active, Inactive)
 	 * 
-	 * @author lmcalvs
+	 * @author Alvaro Sanchez-Leon
 	 * 
 	 */
 	interface IResSerializationState {
@@ -527,7 +527,7 @@
 	/**
 	 * Interface to control a registry list of resources with serialization state set to inactive
 	 * 
-	 * @author lmcalvs
+	 * @author Alvaro Sanchez-Leon
 	 * 
 	 */
 	interface IResSerializationRegistry extends IResSerializationState {
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/RWCommon.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/RWCommon.java
index e0f70ac..87afabd 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/RWCommon.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/RWCommon.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson AB and others.
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/ChangeResController.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/ChangeResController.java
index 26639a8..b06a783 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/ChangeResController.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/ChangeResController.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -38,7 +38,7 @@
 import org.eclipse.mylyn.reviews.r4e.core.utils.filePermission.FileSupportCommandFactory;
 
 /**
- * @author lmcalvs
+ * @author Alvaro Sanchez-Leon
  *
  * @version $Revision: 1.0 $
  */
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/ChangeResSetController.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/ChangeResSetController.java
index f239eeb..fbcae21 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/ChangeResSetController.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/ChangeResSetController.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -18,7 +18,7 @@
 import org.eclipse.mylyn.reviews.r4e.core.model.serial.Persistence.IResSerializationState;
 
 /**
- * @author lmcalvs
+ * @author Alvaro Sanchez-Leon
  *
  */
 public class ChangeResSetController extends ChangeResController {
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/CompatibilityException.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/CompatibilityException.java
index c56a98e..62b264d 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/CompatibilityException.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/CompatibilityException.java
@@ -16,7 +16,7 @@
  */
 package org.eclipse.mylyn.reviews.r4e.core.model.serial.impl;
 /**
- * @author lmcalvs
+ * @author Alvaro Sanchez-Leon
  * 
  */
 public class CompatibilityException extends Exception {
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/OutOfSyncException.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/OutOfSyncException.java
index e2d4d41..6aafe19 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/OutOfSyncException.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/OutOfSyncException.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -17,7 +17,7 @@
 package org.eclipse.mylyn.reviews.r4e.core.model.serial.impl;
 
 /**
- * @author lmcalvs
+ * @author Alvaro Sanchez-Leon
  * 
  */
 public class OutOfSyncException extends Exception {
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/R4EReader.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/R4EReader.java
index ef5ca26..23e2646 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/R4EReader.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/R4EReader.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -33,7 +33,7 @@
 import org.eclipse.mylyn.reviews.r4e.core.model.serial.RWCommon;
 
 /**
- * @author lmcalvs
+ * @author Alvaro Sanchez-Leon
  * 
  */
 public class R4EReader extends RWCommon implements IModelReader {
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/R4EWriter.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/R4EWriter.java
index 1f6f095..bf0e61d 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/R4EWriter.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/R4EWriter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson AB and others.
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/RModelFactoryExtImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/RModelFactoryExtImpl.java
index e18155f..f976b96 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/RModelFactoryExtImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/RModelFactoryExtImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -70,7 +70,7 @@
 import org.eclipse.mylyn.reviews.r4e.core.utils.filePermission.UserPermission;
 
 /**
- * @author lmcalvs
+ * @author Alvaro Sanchez-Leon
  *
  */
 public class RModelFactoryExtImpl implements Persistence.RModelFactoryExt {
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/ResourceHandlingException.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/ResourceHandlingException.java
index 3d9ea38..8e265b9 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/ResourceHandlingException.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/ResourceHandlingException.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -16,7 +16,7 @@
  */
 package org.eclipse.mylyn.reviews.r4e.core.model.serial.impl;
 /**
- * @author lmcalvs
+ * @author Alvaro Sanchez-Leon
  * 
  */
 public class ResourceHandlingException extends Exception {
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/SerializeFactory.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/SerializeFactory.java
index a440a99..e1ba0b2 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/SerializeFactory.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/serial/impl/SerializeFactory.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelAdapterFactory.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelAdapterFactory.java
index 957798b..786a579 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelAdapterFactory.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelAdapterFactory.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelResourceFactoryImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelResourceFactoryImpl.java
index a1f0bdc..1769a58 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelResourceFactoryImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelResourceFactoryImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelResourceImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelResourceImpl.java
index 9c4f360..14fda4d 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelResourceImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelResourceImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelSwitch.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelSwitch.java
index 14ce226..0aea8d0 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelSwitch.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelSwitch.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelXMLProcessor.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelXMLProcessor.java
index a65acb9..dd9fc44 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelXMLProcessor.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelXMLProcessor.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/rfs/ReviewsRFSProxy.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/rfs/ReviewsRFSProxy.java
index 537a102..0468fd3 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/rfs/ReviewsRFSProxy.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/rfs/ReviewsRFSProxy.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson
+ * Copyright (c) 2011, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -44,7 +44,7 @@
 import org.eclipse.team.core.history.provider.FileRevision;
 
 /**
- * @author lmcalvs
+ * @author Alvaro Sanchez-Leon
  * 
  */
 public class ReviewsRFSProxy implements IRFSRegistry {
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/rfs/spi/RFSRegistryFactory.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/rfs/spi/RFSRegistryFactory.java
index a412cd8..a5bcd42 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/rfs/spi/RFSRegistryFactory.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/rfs/spi/RFSRegistryFactory.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson
+ * Copyright (c) 2011, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -24,7 +24,7 @@
 import org.eclipse.mylyn.reviews.r4e.core.rfs.ReviewsRFSProxy;
 
 /**
- * @author lmcalvs
+ * @author Alvaro Sanchez-Leon
  *
  */
 public class RFSRegistryFactory {
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/rfs/spi/ReviewsFileStorageException.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/rfs/spi/ReviewsFileStorageException.java
index 8b7a8d1..35c3868 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/rfs/spi/ReviewsFileStorageException.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/rfs/spi/ReviewsFileStorageException.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson
+ * Copyright (c) 2011, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -14,7 +14,7 @@
 package org.eclipse.mylyn.reviews.r4e.core.rfs.spi;
 
 /**
- * @author lmcalvs
+ * @author Alvaro Sanchez-Leon
  *
  */
 public class ReviewsFileStorageException extends Exception {
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/IOUtils.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/IOUtils.java
index d13b622..667c98d 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/IOUtils.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/IOUtils.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson
+ * Copyright (c) 2011, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -19,7 +19,7 @@
 import org.eclipse.jgit.util.IO;
 
 /**
- * @author lmcalvs
+ * @author Alvaro Sanchez-Leon
  *
  */
 public class IOUtils {
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/ResourceUtils.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/ResourceUtils.java
index 4848496..870899d 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/ResourceUtils.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/ResourceUtils.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -30,7 +30,7 @@
 import org.eclipse.mylyn.reviews.r4e.core.Activator;
 
 /**
- * @author lmcalvs
+ * @author Alvaro Sanchez-Leon
  *
  */
 public class ResourceUtils {
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/cmd/BaseSupportCommand.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/cmd/BaseSupportCommand.java
index 60ad166..e0d9aef 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/cmd/BaseSupportCommand.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/cmd/BaseSupportCommand.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -9,7 +9,7 @@
  * Description:
  * 
  * Contributors:
- * 	 Ericsson Research Canada - Initial API and Implementation 
+ * 	 Ericsson AB - Initial API and Implementation 
  *   Alvaro Sanchez-Leon - Adapted for Review for Eclipse
  *******************************************************************************/
 package org.eclipse.mylyn.reviews.r4e.core.utils.cmd;
@@ -20,7 +20,7 @@
 import org.eclipse.mylyn.reviews.r4e.core.Activator;
 
 /**
- * @author lmcbout
+ * @author Jacques Bouthillier
  * 
  */
 public class BaseSupportCommand {
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/cmd/ShellCommandManager.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/cmd/ShellCommandManager.java
index 71870ff..03df523 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/cmd/ShellCommandManager.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/cmd/ShellCommandManager.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -9,7 +9,7 @@
  * Description:
  * 
  * Contributors:
- * 	 Ericsson Research Canada - Initial API and Implementation 
+ * 	 Ericsson AB - Initial API and Implementation 
  *   Alvaro Sanchez-Leon - Adapted for Review for Eclipse
  *******************************************************************************/
 package org.eclipse.mylyn.reviews.r4e.core.utils.cmd;
@@ -256,10 +256,10 @@
 		// S:/bscng_cmf/com_swb/com_swu/src/cmfbaseconfigmgr.cc@@\\main\\r7a_int\\r9a_int\\2");
 
 		String command3 = new String(
-				"cleardiff -blank_ignore -diff_format /view/lmcalvs_svp1code_lvb/vobs/r4ecode/dev/r4e/src/com/ericsson/r4e/core/header/column/UserNameTableModel.java@@/main/svp1code/svp1code_lvb/0 /view/lmcalvs_svp1code_lvb/vobs/r4ecode/dev/r4e/src/com/ericsson/r4e/core/header/column/UserNameTableModel.java@@/main/svp1code/svp1code_lvb/1");
+				"cleardiff -blank_ignore -diff_format /view/Alvaro Sanchez-Leon_svp1code_lvb/vobs/r4ecode/dev/r4e/src/com/ericsson/r4e/core/header/column/UserNameTableModel.java@@/main/svp1code/svp1code_lvb/0 /view/Alvaro Sanchez-Leon_svp1code_lvb/vobs/r4ecode/dev/r4e/src/com/ericsson/r4e/core/header/column/UserNameTableModel.java@@/main/svp1code/svp1code_lvb/1");
 
 		String command4 = new String(
-				"cleardiff -blank_ignore -diff_format /view/lmcalvs_svp1code_lvb/vobs/r4ecode/dev/r4e/src/com/ericsson/r4e/core/header/column/UserNameTableModel.java@@/main/svp1code/svp1code_lvb/0 /view/lmcalvs_svp1code_lvb/vobs/r4ecode/dev/r4e/src/com/ericsson/r4e/core/header/column/UserNameTableModel.java@@/main/svp1code/svp1code_lvb/1");
+				"cleardiff -blank_ignore -diff_format /view/Alvaro Sanchez-Leon_svp1code_lvb/vobs/r4ecode/dev/r4e/src/com/ericsson/r4e/core/header/column/UserNameTableModel.java@@/main/svp1code/svp1code_lvb/0 /view/Alvaro Sanchez-Leon_svp1code_lvb/vobs/r4ecode/dev/r4e/src/com/ericsson/r4e/core/header/column/UserNameTableModel.java@@/main/svp1code/svp1code_lvb/1");
 
 		String[] cmd3 = command3.split(" ");
 		String[] cmd4 = command4.split(" ");
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/cmd/StreamThread.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/cmd/StreamThread.java
index db9f44c..b7df6ee 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/cmd/StreamThread.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/cmd/StreamThread.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -9,7 +9,7 @@
  * Description:
  * 
  * Contributors:
- * 	 Ericsson Research Canada - Initial API and Implementation 
+ * 	 Ericsson AB - Initial API and Implementation 
  *   Alvaro Sanchez-Leon - Adapted for Review for Eclipse
  *******************************************************************************/
 package org.eclipse.mylyn.reviews.r4e.core.utils.cmd;
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/FileSupportCommandFactory.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/FileSupportCommandFactory.java
index 310b32d..bdc8553 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/FileSupportCommandFactory.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/FileSupportCommandFactory.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -9,7 +9,7 @@
  * Description:
  * 
  * Contributors:
- * 	 Ericsson Research Canada - Initial API and Implementation 
+ * 	 Ericsson AB - Initial API and Implementation 
  *   Alvaro Sanchez-Leon - Adapted for Review for Eclipse
  *******************************************************************************/
 package org.eclipse.mylyn.reviews.r4e.core.utils.filePermission;
@@ -17,7 +17,7 @@
 import org.eclipse.mylyn.reviews.r4e.core.utils.sys.OSPLATFORM;
 
 /**
- * @author lmcbout
+ * @author Jacques Bouthillier
  * 
  */
 public class FileSupportCommandFactory {
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/IFileSupportCommand.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/IFileSupportCommand.java
index 2814700..4310fa2 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/IFileSupportCommand.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/IFileSupportCommand.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -9,7 +9,7 @@
  * Description:
  * 
  * Contributors:
- * 	 Ericsson Research Canada - Initial API and Implementation 
+ * 	 Ericsson AB - Initial API and Implementation 
  *   Alvaro Sanchez-Leon - Adapted for Review for Eclipse
  *******************************************************************************/
 package org.eclipse.mylyn.reviews.r4e.core.utils.filePermission;
@@ -17,7 +17,7 @@
 import java.io.IOException;
 
 /**
- * @author lmcalvs
+ * @author Alvaro Sanchez-Leon
  * 
  */
 public interface IFileSupportCommand {
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/UnixPermission.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/UnixPermission.java
index bdc3001..78427f5 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/UnixPermission.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/UnixPermission.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -9,7 +9,7 @@
  * Description:
  * 
  * Contributors:
- * 	 Ericsson Research Canada - Initial API and Implementation 
+ * 	 Ericsson AB - Initial API and Implementation 
  *   Alvaro Sanchez-Leon - Adapted for Review for Eclipse
  *******************************************************************************/
 package org.eclipse.mylyn.reviews.r4e.core.utils.filePermission;
@@ -22,7 +22,7 @@
 import org.eclipse.mylyn.reviews.r4e.core.utils.cmd.BaseSupportCommand;
 
 /**
- * @author lmcbout
+ * @author Jacques Bouthillier
  * 
  */
 public class UnixPermission extends BaseSupportCommand implements
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/UserPermission.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/UserPermission.java
index df9a776..08ba8d2 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/UserPermission.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/UserPermission.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -9,7 +9,7 @@
  * Description:
  * 
  * Contributors:
- * 	 Ericsson Research Canada - Initial API and Implementation 
+ * 	 Ericsson AB - Initial API and Implementation 
  *   Alvaro Sanchez-Leon - Adapted for Review for Eclipse
  *******************************************************************************/
 package org.eclipse.mylyn.reviews.r4e.core.utils.filePermission;
@@ -20,7 +20,7 @@
 import org.eclipse.mylyn.reviews.r4e.core.Activator;
 
 /**
- * @author lmcbout
+ * @author Jacques Bouthillier
  * 
  */
 public class UserPermission {
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/WindowPermission.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/WindowPermission.java
index 8b2d1c8..e761680 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/WindowPermission.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/filePermission/WindowPermission.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -9,7 +9,7 @@
  * Description:
  * 
  * Contributors:
- * 	 Ericsson Research Canada - Initial API and Implementation 
+ * 	 Ericsson AB - Initial API and Implementation 
  *   Alvaro Sanchez-Leon - Adapted for Review for Eclipse
  *******************************************************************************/
 package org.eclipse.mylyn.reviews.r4e.core.utils.filePermission;
@@ -23,7 +23,7 @@
 import org.eclipse.mylyn.reviews.r4e.core.utils.cmd.BaseSupportCommand;
 
 /**
- * @author lmcbout
+ * @author Jacques Bouthillier
  * 
  */
 public class WindowPermission extends BaseSupportCommand implements
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/sys/OSPLATFORM.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/sys/OSPLATFORM.java
index 60fab5e..7994ba8 100644
--- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/sys/OSPLATFORM.java
+++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/utils/sys/OSPLATFORM.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -9,7 +9,7 @@
  * Description:
  * 
  * Contributors:
- * 	 Ericsson Research Canada - Initial API and Implementation 
+ * 	 Ericsson AB - Initial API and Implementation 
  *   Alvaro Sanchez-Leon - Adapted for Review for Eclipse
  *******************************************************************************/
 package org.eclipse.mylyn.reviews.r4e.core.utils.sys;
diff --git a/org.eclipse.mylyn.reviews.r4e.feature/build.properties b/org.eclipse.mylyn.reviews.r4e.feature/build.properties
index 1d717bf..0dd275b 100644
--- a/org.eclipse.mylyn.reviews.r4e.feature/build.properties
+++ b/org.eclipse.mylyn.reviews.r4e.feature/build.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2009, 2010 Tasktop Technologies and others.
+# Copyright (c) 2009, 2012 Tasktop Technologies and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
diff --git a/org.eclipse.mylyn.reviews.r4e.feature/feature.properties b/org.eclipse.mylyn.reviews.r4e.feature/feature.properties
index ea6c6bf..b4630b2 100644
--- a/org.eclipse.mylyn.reviews.r4e.feature/feature.properties
+++ b/org.eclipse.mylyn.reviews.r4e.feature/feature.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2011 Tasktop Technologies and others.
+# Copyright (c) 2011, 2012 Tasktop Technologies and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
diff --git a/org.eclipse.mylyn.reviews.r4e.help/build.properties b/org.eclipse.mylyn.reviews.r4e.help/build.properties
index 4c3f51e..40ff789 100644
--- a/org.eclipse.mylyn.reviews.r4e.help/build.properties
+++ b/org.eclipse.mylyn.reviews.r4e.help/build.properties
@@ -1,3 +1,13 @@
+###############################################################################
+# Copyright (c) 2012 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Ericsson AB - initial API and implementation
+###############################################################################
 bin.includes = plugin.xml,\
                META-INF/,\
                .,\
diff --git a/org.eclipse.mylyn.reviews.r4e.help/plugin.properties b/org.eclipse.mylyn.reviews.r4e.help/plugin.properties
index ccd93d4..afcdbd0 100644
--- a/org.eclipse.mylyn.reviews.r4e.help/plugin.properties
+++ b/org.eclipse.mylyn.reviews.r4e.help/plugin.properties
@@ -1,12 +1,13 @@
-/**
- * Copyright (c) 2010 Ericsson
- *  
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- */
+###############################################################################
+# Copyright (c) 2012 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Ericsson AB - initial API and implementation
+###############################################################################
 pluginName = Mylyn Reviews R4E (Incubation)
 providerName = Eclipse Mylyn
 
diff --git a/org.eclipse.mylyn.reviews.r4e.ldap/build.properties b/org.eclipse.mylyn.reviews.r4e.ldap/build.properties
index db652eb..b5b2cbb 100644
--- a/org.eclipse.mylyn.reviews.r4e.ldap/build.properties
+++ b/org.eclipse.mylyn.reviews.r4e.ldap/build.properties
@@ -1,3 +1,13 @@
+###############################################################################
+# Copyright (c) 2012 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Ericsson AB - initial API and implementation
+###############################################################################
 source.. = src/
 output.. = bin/
 bin.includes = plugin.xml,\
diff --git a/org.eclipse.mylyn.reviews.r4e.ldap/plugin.properties b/org.eclipse.mylyn.reviews.r4e.ldap/plugin.properties
index 3e08f55..f068788 100644
--- a/org.eclipse.mylyn.reviews.r4e.ldap/plugin.properties
+++ b/org.eclipse.mylyn.reviews.r4e.ldap/plugin.properties
@@ -1,11 +1,12 @@
-/**
- * Copyright (c) 2010 Ericsson
- *  
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- */
+###############################################################################
+# Copyright (c) 2012 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Ericsson AB - initial API and implementation
+###############################################################################
 pluginName = Mylyn Reviews R4E (Incubation)
 providerName = Eclipse Mylyn
diff --git a/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/LdapPlugin.java b/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/LdapPlugin.java
index c30cc19..c173034 100644
--- a/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/LdapPlugin.java
+++ b/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/LdapPlugin.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson
+ * Copyright (c) 2011, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/R4EString.properties b/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/R4EString.properties
index a073d9b..4183dd9 100644
--- a/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/R4EString.properties
+++ b/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/R4EString.properties
@@ -1,3 +1,13 @@
+###############################################################################
+# Copyright (c) 2012 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Ericsson AB - initial API and implementation
+###############################################################################
 #
 # File describing the string use in the LDAP R4E plug-in
 #
diff --git a/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/preferences/PreferenceConstants.java b/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/preferences/PreferenceConstants.java
index 9c4a1ec..7db3de9 100644
--- a/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/preferences/PreferenceConstants.java
+++ b/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/preferences/PreferenceConstants.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/preferences/PreferenceInitializer.java b/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/preferences/PreferenceInitializer.java
index 71010f8..666736d 100644
--- a/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/preferences/PreferenceInitializer.java
+++ b/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/preferences/PreferenceInitializer.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/preferences/R4ELdapPreferencePage.java b/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/preferences/R4ELdapPreferencePage.java
index 845b7e4..322656b 100644
--- a/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/preferences/R4ELdapPreferencePage.java
+++ b/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/preferences/R4ELdapPreferencePage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/queryUtility/QueryGlobalLdapDirectory.java b/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/queryUtility/QueryGlobalLdapDirectory.java
index 60a4612..597136f 100644
--- a/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/queryUtility/QueryGlobalLdapDirectory.java
+++ b/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/queryUtility/QueryGlobalLdapDirectory.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/queryUtility/UserData.java b/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/queryUtility/UserData.java
index 4cfd1f1..e784380 100644
--- a/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/queryUtility/UserData.java
+++ b/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/queryUtility/UserData.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/util/R4EString.java b/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/util/R4EString.java
index 538930d..4b8e6fd 100644
--- a/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/util/R4EString.java
+++ b/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/ldap/internal/util/R4EString.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/userSearch/query/IQueryUser.java b/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/userSearch/query/IQueryUser.java
index 043a010..eac028d 100644
--- a/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/userSearch/query/IQueryUser.java
+++ b/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/userSearch/query/IQueryUser.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/userSearch/userInfo/IUserInfo.java b/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/userSearch/userInfo/IUserInfo.java
index f7c2137..26cc062 100644
--- a/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/userSearch/userInfo/IUserInfo.java
+++ b/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/userSearch/userInfo/IUserInfo.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/userSearch/userInfo/UserInformationFactory.java b/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/userSearch/userInfo/UserInformationFactory.java
index f0fd312..14a6271 100644
--- a/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/userSearch/userInfo/UserInformationFactory.java
+++ b/org.eclipse.mylyn.reviews.r4e.ldap/src/org/eclipse/mylyn/reviews/userSearch/userInfo/UserInformationFactory.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.mail.smtp/build.properties b/org.eclipse.mylyn.reviews.r4e.mail.smtp/build.properties
index aaac0c0..7f120ab 100644
--- a/org.eclipse.mylyn.reviews.r4e.mail.smtp/build.properties
+++ b/org.eclipse.mylyn.reviews.r4e.mail.smtp/build.properties
@@ -1,8 +1,13 @@
-
-# <copyright>
-# </copyright>
-#
-# $Id$
+###############################################################################
+# Copyright (c) 2012 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Ericsson AB - initial API and implementation
+###############################################################################
 
 bin.includes = .,\
 			   META-INF/,\
diff --git a/org.eclipse.mylyn.reviews.r4e.mail.smtp/plugin.properties b/org.eclipse.mylyn.reviews.r4e.mail.smtp/plugin.properties
index 7e350b2..08979aa 100644
--- a/org.eclipse.mylyn.reviews.r4e.mail.smtp/plugin.properties
+++ b/org.eclipse.mylyn.reviews.r4e.mail.smtp/plugin.properties
@@ -1,13 +1,12 @@
-
- ###############################################################################
-# Copyright (c) 2010 2011 Ericsson and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#      Ericsson Research Canada - initial API and implementation
-###############################################################################
+###############################################################################
+# Copyright (c) 2012 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Ericsson AB - initial API and implementation
+###############################################################################
 pluginName = Mylyn Reviews R4E (Incubation)
 providerName = Eclipse Mylyn
diff --git a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/SMTPHostString.properties b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/SMTPHostString.properties
index 38af9b7..03af0c3 100644
--- a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/SMTPHostString.properties
+++ b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/SMTPHostString.properties
@@ -1,3 +1,13 @@
+###############################################################################
+# Copyright (c) 2012 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Ericsson AB - initial API and implementation
+###############################################################################
 #
 # File describing the string use in the SMTP plug-in
 #
diff --git a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/SmtpPlugin.java b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/SmtpPlugin.java
index aadb240..522daa5 100644
--- a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/SmtpPlugin.java
+++ b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/SmtpPlugin.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -7,7 +7,7 @@
  * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
- *    Ericsson Research Canada - Initial implementation SMTP mail
+ *    Ericsson AB - Initial implementation SMTP mail
  * 
  */
 package org.eclipse.mylyn.reviews.r4e.mail.smtp;
diff --git a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/MailDialog.java b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/MailDialog.java
index d59af37..3d996bd 100644
--- a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/MailDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/MailDialog.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -7,7 +7,7 @@
  * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
- *    Ericsson Research Canada - Dialog used to display SMTP mail
+ *    Ericsson AB - Dialog used to display SMTP mail
  * 
  */
 package org.eclipse.mylyn.reviews.r4e.mail.smtp.mailVersion;
diff --git a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/Smtp.java b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/Smtp.java
index 596bace..b1308c5 100644
--- a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/Smtp.java
+++ b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/Smtp.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -7,7 +7,7 @@
  * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
- *    Ericsson Research Canada - Initial implementation SMTP mail
+ *    Ericsson AB - Initial implementation SMTP mail
  * 
  */
 package org.eclipse.mylyn.reviews.r4e.mail.smtp.mailVersion;
diff --git a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/MailData.java b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/MailData.java
index 8038f2e..fccc941 100644
--- a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/MailData.java
+++ b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/MailData.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -7,7 +7,7 @@
  * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
- *    Ericsson Research Canada - Mail data information structure
+ *    Ericsson AB - Mail data information structure
  * 
  */
 package org.eclipse.mylyn.reviews.r4e.mail.smtp.mailVersion.internal;
diff --git a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/MailInputValidator.java b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/MailInputValidator.java
index 1463b8c..da53b35 100644
--- a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/MailInputValidator.java
+++ b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/MailInputValidator.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -7,7 +7,7 @@
  * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
- *    Ericsson Research Canada - Mail data information structure
+ *    Ericsson AB - Mail data information structure
  * 
  */
 package org.eclipse.mylyn.reviews.r4e.mail.smtp.mailVersion.internal;
@@ -15,7 +15,7 @@
 import org.eclipse.jface.dialogs.IInputValidator;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class MailInputValidator implements IInputValidator {
diff --git a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/SMTPHostString.java b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/SMTPHostString.java
index e0ba58b..792e7e1 100644
--- a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/SMTPHostString.java
+++ b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/SMTPHostString.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -7,7 +7,7 @@
  * http://www.eclipse.org/legal/epl-v10.html
  * 
  * Contributors:
- *    Ericsson Research Canada - Provides resources from resource bundle.
+ *    Ericsson AB - Provides resources from resource bundle.
  * 
  */
 package org.eclipse.mylyn.reviews.r4e.mail.smtp.mailVersion.internal;
diff --git a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/dialogs/CalendarDialog.java b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/dialogs/CalendarDialog.java
index a294682..fe0b50b 100644
--- a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/dialogs/CalendarDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/dialogs/CalendarDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -32,7 +32,7 @@
 import org.eclipse.ui.forms.widgets.ScrolledForm;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class CalendarDialog extends FormDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/dialogs/ScheduleMeetingInputDialog.java b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/dialogs/ScheduleMeetingInputDialog.java
index 39d8abe..f7b17a6 100644
--- a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/dialogs/ScheduleMeetingInputDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/dialogs/ScheduleMeetingInputDialog.java
@@ -1,20 +1,13 @@
-// $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.constructorsOnlyInvokeFinalMethods, useForLoop, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
-/*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
- * 
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Description:
- * 
- * This class implements the dialog used to fill in the meeting request information
- * 
- * Contributors:
- *   Sebastien Dubois - Created for Mylyn Review R4E project
- *   
- ******************************************************************************/
+/*******************************************************************************
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Ericsson AB - initial API and implementation
+ *******************************************************************************/
 
 package org.eclipse.mylyn.reviews.r4e.mail.smtp.mailVersion.internal.dialogs;
 
@@ -49,7 +42,8 @@
 import org.eclipse.ui.forms.widgets.Section;
 
 /**
- * @author lmcdubo
+ * This class implements the dialog used to fill in the meeting request information
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ScheduleMeetingInputDialog extends FormDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/preferences/PreferenceConstants.java b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/preferences/PreferenceConstants.java
index 6fbac70..001bd23 100644
--- a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/preferences/PreferenceConstants.java
+++ b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/preferences/PreferenceConstants.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/preferences/PreferenceInitializer.java b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/preferences/PreferenceInitializer.java
index 0700a4e..58806e9 100644
--- a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/preferences/PreferenceInitializer.java
+++ b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/preferences/PreferenceInitializer.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/preferences/SmtpHostPreferencePage.java b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/preferences/SmtpHostPreferencePage.java
index e91ae09..f2fba97 100644
--- a/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/preferences/SmtpHostPreferencePage.java
+++ b/org.eclipse.mylyn.reviews.r4e.mail.smtp/src/org/eclipse/mylyn/reviews/r4e/mail/smtp/mailVersion/internal/preferences/SmtpHostPreferencePage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.report/build.properties b/org.eclipse.mylyn.reviews.r4e.report/build.properties
index 9047dea..60f17d8 100644
--- a/org.eclipse.mylyn.reviews.r4e.report/build.properties
+++ b/org.eclipse.mylyn.reviews.r4e.report/build.properties
@@ -1,3 +1,13 @@
+###############################################################################
+# Copyright (c) 2012 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Ericsson AB - initial API and implementation
+###############################################################################
 source.. = src/
 output.. = bin/
 bin.includes = META-INF/,\
diff --git a/org.eclipse.mylyn.reviews.r4e.report/plugin.properties b/org.eclipse.mylyn.reviews.r4e.report/plugin.properties
index 278c2a1..4c343b4 100644
--- a/org.eclipse.mylyn.reviews.r4e.report/plugin.properties
+++ b/org.eclipse.mylyn.reviews.r4e.report/plugin.properties
@@ -1,11 +1,12 @@
-/**
- * Copyright (c) 2010 Ericsson
- *  
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- */
+###############################################################################
+# Copyright (c) 2012 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Ericsson AB - initial API and implementation
+###############################################################################
 pluginName = Mylyn Reviews R4E Report (Incubation)
 providerName = Eclipse Mylyn
diff --git a/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/R4EReportString.properties b/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/R4EReportString.properties
index e2cc95f..f307227 100644
--- a/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/R4EReportString.properties
+++ b/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/R4EReportString.properties
@@ -1,3 +1,13 @@
+###############################################################################
+# Copyright (c) 2012 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Ericsson AB - initial API and implementation
+###############################################################################
 #
 # File describing the string use in the Report R4E plug-in
 #
diff --git a/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/impl/IR4EReport.java b/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/impl/IR4EReport.java
index 2915741..bb0f60d 100644
--- a/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/impl/IR4EReport.java
+++ b/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/impl/IR4EReport.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/impl/R4EReportFactory.java b/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/impl/R4EReportFactory.java
index e1ccfea..1b813ea 100644
--- a/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/impl/R4EReportFactory.java
+++ b/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/impl/R4EReportFactory.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/Activator.java b/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/Activator.java
index 7ea8d3c..e5f3d1a 100644
--- a/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/Activator.java
+++ b/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/Activator.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson
+ * Copyright (c) 2011, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/dialog/ReportDirectorySelection.java b/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/dialog/ReportDirectorySelection.java
index 9c57208..fd4d0e7 100644
--- a/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/dialog/ReportDirectorySelection.java
+++ b/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/dialog/ReportDirectorySelection.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson
+ * Copyright (c) 2011, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/dialog/ReportGeneration.java b/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/dialog/ReportGeneration.java
index a9cb0b8..1ec263a 100644
--- a/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/dialog/ReportGeneration.java
+++ b/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/dialog/ReportGeneration.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -748,7 +748,7 @@
 	/**
 	 * Create the report filename which is: - path of the group review directory
 	 * - r4e_ - user name creating the report - Date the report is created -
-	 * file extension - ex: c:/report/R4E_Report_lmcbout_19-Jun-2008_0955.html
+	 * file extension - ex: c:/report/R4E_Report_Jacques Bouthillier_19-Jun-2008_0955.html
 	 * 
 	 * @return report name being created
 	 */
diff --git a/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/util/OSPLATFORM.java b/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/util/OSPLATFORM.java
index 48cc29c..00fa09c 100644
--- a/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/util/OSPLATFORM.java
+++ b/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/util/OSPLATFORM.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/util/Popup.java b/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/util/Popup.java
index 184f80b..81e0682 100644
--- a/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/util/Popup.java
+++ b/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/util/Popup.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson
+ * Copyright (c) 2011, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/util/R4EReportString.java b/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/util/R4EReportString.java
index 646a6f4..6810f70 100644
--- a/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/util/R4EReportString.java
+++ b/org.eclipse.mylyn.reviews.r4e.report/src/org/eclipse/mylyn/reviews/r4e/report/internal/util/R4EReportString.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson
+ * Copyright (c) 2011, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.reports-feature/build.properties b/org.eclipse.mylyn.reviews.r4e.reports-feature/build.properties
index 8e3732e..aae0c70 100644
--- a/org.eclipse.mylyn.reviews.r4e.reports-feature/build.properties
+++ b/org.eclipse.mylyn.reviews.r4e.reports-feature/build.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2009, 2010 Tasktop Technologies and others.
+# Copyright (c) 2009, 2012 Tasktop Technologies and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
diff --git a/org.eclipse.mylyn.reviews.r4e.reports-feature/feature.properties b/org.eclipse.mylyn.reviews.r4e.reports-feature/feature.properties
index 1550db9..4114b58 100644
--- a/org.eclipse.mylyn.reviews.r4e.reports-feature/feature.properties
+++ b/org.eclipse.mylyn.reviews.r4e.reports-feature/feature.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2011 Ericsson and others.
+# Copyright (c) 2011, 2012 Ericsson and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
diff --git a/org.eclipse.mylyn.reviews.r4e.transform/build.properties b/org.eclipse.mylyn.reviews.r4e.transform/build.properties
index bfb6415..12204fa 100644
--- a/org.eclipse.mylyn.reviews.r4e.transform/build.properties
+++ b/org.eclipse.mylyn.reviews.r4e.transform/build.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2010 Tasktop Technologies and others. 
+# Copyright (c) 2010, 2012 Tasktop Technologies and others. 
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
@@ -9,11 +9,6 @@
 #     Tasktop Technologies - initial API and implementation
 ###############################################################################
 
-# <copyright>
-# </copyright>
-#
-# $Id: build.properties,v 1.2 2010/09/27 05:23:24 spingel Exp $
-
 bin.includes = .,\
                META-INF/,\
                plugin.properties,\
diff --git a/org.eclipse.mylyn.reviews.r4e.transform/plugin.properties b/org.eclipse.mylyn.reviews.r4e.transform/plugin.properties
index 6616c7b..f845ca4 100644
--- a/org.eclipse.mylyn.reviews.r4e.transform/plugin.properties
+++ b/org.eclipse.mylyn.reviews.r4e.transform/plugin.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2011 Ericsson AB and others.
+# Copyright (c) 2011, 2012 Ericsson AB and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
diff --git a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/Activator.java b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/Activator.java
index 718b111..ec48c14 100644
--- a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/Activator.java
+++ b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/Activator.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson AB and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/ModelTransform.java b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/ModelTransform.java
index f031162..ee435ea 100644
--- a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/ModelTransform.java
+++ b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/ModelTransform.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson AB and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
diff --git a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/impl/ModelTransformImpl.java b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/impl/ModelTransformImpl.java
index ceee7dd..4fc80f3 100644
--- a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/impl/ModelTransformImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/impl/ModelTransformImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson AB and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
diff --git a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/ReviewGroupRes.java b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/ReviewGroupRes.java
index b4b6f38..26dcd76 100644
--- a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/ReviewGroupRes.java
+++ b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/ReviewGroupRes.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson AB and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/ReviewRes.java b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/ReviewRes.java
index 14cb1ae..c62231b 100644
--- a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/ReviewRes.java
+++ b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/ReviewRes.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson AB and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/TransResFactory.java b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/TransResFactory.java
index adb17e4..feef3b5 100644
--- a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/TransResFactory.java
+++ b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/TransResFactory.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson AB and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/TransResPackage.java b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/TransResPackage.java
index d8c6d97..f272904 100644
--- a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/TransResPackage.java
+++ b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/TransResPackage.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson AB and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/impl/ReviewGroupResImpl.java b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/impl/ReviewGroupResImpl.java
index e27da0c..ded710f 100644
--- a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/impl/ReviewGroupResImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/impl/ReviewGroupResImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson AB and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/impl/ReviewResImpl.java b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/impl/ReviewResImpl.java
index 5cd5a7f..0ffaf43 100644
--- a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/impl/ReviewResImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/impl/ReviewResImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson AB and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/impl/TransResFactoryImpl.java b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/impl/TransResFactoryImpl.java
index 7fec682..6f0116a 100644
--- a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/impl/TransResFactoryImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/impl/TransResFactoryImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson AB and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/impl/TransResPackageImpl.java b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/impl/TransResPackageImpl.java
index b7b38c2..a0c3064 100644
--- a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/impl/TransResPackageImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/impl/TransResPackageImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson AB and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/util/TransResAdapterFactory.java b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/util/TransResAdapterFactory.java
index 321027a..2988072 100644
--- a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/util/TransResAdapterFactory.java
+++ b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/util/TransResAdapterFactory.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson AB and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/util/TransResResourceFactoryImpl.java b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/util/TransResResourceFactoryImpl.java
index fc3002d..0c80572 100644
--- a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/util/TransResResourceFactoryImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/util/TransResResourceFactoryImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson AB and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/util/TransResResourceImpl.java b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/util/TransResResourceImpl.java
index 2b27f02..7c0085d 100644
--- a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/util/TransResResourceImpl.java
+++ b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/util/TransResResourceImpl.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson AB and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/util/TransResSwitch.java b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/util/TransResSwitch.java
index 14f4ace..e139985 100644
--- a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/util/TransResSwitch.java
+++ b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/util/TransResSwitch.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson AB and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/util/TransResXMLProcessor.java b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/util/TransResXMLProcessor.java
index 4c7e409..d9e8880 100644
--- a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/util/TransResXMLProcessor.java
+++ b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/resources/util/TransResXMLProcessor.java
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2011 Ericsson AB and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  *  
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/serial/impl/TResReader.java b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/serial/impl/TResReader.java
index 8d959d0..a44a20b 100644
--- a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/serial/impl/TResReader.java
+++ b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/serial/impl/TResReader.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson AB and others.
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/serial/impl/TResSerializeFactory.java b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/serial/impl/TResSerializeFactory.java
index 688c505..8e3ed5a 100644
--- a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/serial/impl/TResSerializeFactory.java
+++ b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/serial/impl/TResSerializeFactory.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson
+ * Copyright (c) 2011, 2012 Ericsson
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/serial/impl/TResWriter.java b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/serial/impl/TResWriter.java
index 76d18b2..95ca450 100644
--- a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/serial/impl/TResWriter.java
+++ b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/serial/impl/TResWriter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson AB and others.
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/build.properties b/org.eclipse.mylyn.reviews.r4e.ui/build.properties
index 5985e1a..1a576b1 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/build.properties
+++ b/org.eclipse.mylyn.reviews.r4e.ui/build.properties
@@ -1,3 +1,13 @@
+###############################################################################
+# Copyright (c) 2012 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Ericsson AB - initial API and implementation
+###############################################################################
 source.. = src/
 output.. = bin/
 bin.includes = META-INF/,\
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/plugin.properties b/org.eclipse.mylyn.reviews.r4e.ui/plugin.properties
index 9efd8cd..08979aa 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/plugin.properties
+++ b/org.eclipse.mylyn.reviews.r4e.ui/plugin.properties
@@ -1,2 +1,12 @@
+###############################################################################
+# Copyright (c) 2012 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Ericsson AB - initial API and implementation
+###############################################################################
 pluginName = Mylyn Reviews R4E (Incubation)
 providerName = Eclipse Mylyn
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/jface/viewers/DecoratingCellLabelProvider.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/jface/viewers/DecoratingCellLabelProvider.java
index 8f5364e..11e1006 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/jface/viewers/DecoratingCellLabelProvider.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/jface/viewers/DecoratingCellLabelProvider.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
+ * Copyright (c) 2000, 2012 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -26,7 +26,7 @@
  * A decorating label provider is a label provider which combines a nested label provider and an optional decorator. The
  * decorator decorates the label text, image, font and colors provided by the nested label provider.
  * 
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class DecoratingCellLabelProvider extends CellLabelProvider implements ILabelProvider, IViewerLabelProvider,
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/R4EUIPlugin.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/R4EUIPlugin.java
index cd9758e..072193d 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/R4EUIPlugin.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/R4EUIPlugin.java
@@ -1,20 +1,13 @@
-// $codepro.audit.disable packageNamingConvention, staticFieldSecurity, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, packageJavadoc
-/*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
- * 
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Description:
- * 
- * This class bootstraps the User Interface (UI) R4E plugin
- * 
- * Contributors:
- *   Sebastien Dubois - Created for Mylyn Review R4E project
- *   
- ******************************************************************************/
+/*******************************************************************************
+ * Copyright (c) 2012 Ericsson AB and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Ericsson AB - initial API and implementation
+ *******************************************************************************/
 
 package org.eclipse.mylyn.reviews.r4e.ui;
 
@@ -31,8 +24,7 @@
 /**
  * The activator class controls the plug-in life cycle
  * 
- * @author lmcdubo
- * @version $Revision: 1.0 $
+ * @author Sebastien Dubois
  */
 public class R4EUIPlugin extends AbstractUIPlugin {
 
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/ModelContributionItems.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/ModelContributionItems.java
index 4d72da0..cd47e1f 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/ModelContributionItems.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/ModelContributionItems.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -35,7 +35,7 @@
 import org.eclipse.ui.menus.CommandContributionItemParameter;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ModelContributionItems extends CompoundContributionItem {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/ReviewState.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/ReviewState.java
index 68b61be..19f0cec 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/ReviewState.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/ReviewState.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -29,7 +29,7 @@
 import org.eclipse.ui.ISources;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewState extends AbstractSourceProvider {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/AnomaliesMyFilterHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/AnomaliesMyFilterHandler.java
index ac896d5..19f5fb4 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/AnomaliesMyFilterHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/AnomaliesMyFilterHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -40,7 +40,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class AnomaliesMyFilterHandler extends AbstractHandler implements IElementUpdater {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/AnomaliesOnlyFilterHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/AnomaliesOnlyFilterHandler.java
index 3a6bcad..9c71e1d 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/AnomaliesOnlyFilterHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/AnomaliesOnlyFilterHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -40,7 +40,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class AnomaliesOnlyFilterHandler extends AbstractHandler implements IElementUpdater {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/AssignMyFilterHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/AssignMyFilterHandler.java
index eff5fbd..329e759 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/AssignMyFilterHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/AssignMyFilterHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2012 Ericsson Research Canada
+ * Copyright (c) 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -41,7 +41,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class AssignMyFilterHandler extends AbstractHandler implements IElementUpdater {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/AssignParticipantFilterHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/AssignParticipantFilterHandler.java
index 09ef4d5..6914130 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/AssignParticipantFilterHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/AssignParticipantFilterHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2012 Ericsson Research Canada
+ * Copyright (c) 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -42,7 +42,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class AssignParticipantFilterHandler extends AbstractHandler implements IElementUpdater {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/FiltersContributionItems.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/FiltersContributionItems.java
index fd20eba..554810a 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/FiltersContributionItems.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/FiltersContributionItems.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -30,7 +30,7 @@
 import org.eclipse.ui.menus.CommandContributionItemParameter;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class FiltersContributionItems extends CompoundContributionItem {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/GoIntoFilterHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/GoIntoFilterHandler.java
index 335b352..aa94b10 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/GoIntoFilterHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/GoIntoFilterHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -34,7 +34,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class GoIntoFilterHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/HideDeltasFilterHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/HideDeltasFilterHandler.java
index e64fb32..05ec917 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/HideDeltasFilterHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/HideDeltasFilterHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -40,7 +40,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class HideDeltasFilterHandler extends AbstractHandler implements IElementUpdater {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/HideRuleSetsFilterHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/HideRuleSetsFilterHandler.java
index b157247..ed2aefb 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/HideRuleSetsFilterHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/HideRuleSetsFilterHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -40,7 +40,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class HideRuleSetsFilterHandler extends AbstractHandler implements IElementUpdater {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/RemoveAllFiltersHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/RemoveAllFiltersHandler.java
index 1599517..71f59ac 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/RemoveAllFiltersHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/RemoveAllFiltersHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -32,7 +32,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class RemoveAllFiltersHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/ReviewedElemsFilterHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/ReviewedElemsFilterHandler.java
index 61af11c..3fc4e17 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/ReviewedElemsFilterHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/ReviewedElemsFilterHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -40,7 +40,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewedElemsFilterHandler extends AbstractHandler implements IElementUpdater {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/ReviewsCompletedFilterHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/ReviewsCompletedFilterHandler.java
index 3b48f0e..0a0dff2 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/ReviewsCompletedFilterHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/ReviewsCompletedFilterHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -40,7 +40,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewsCompletedFilterHandler extends AbstractHandler implements IElementUpdater {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/ReviewsMyFilterHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/ReviewsMyFilterHandler.java
index e2b0f0c..170a168 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/ReviewsMyFilterHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/ReviewsMyFilterHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -40,7 +40,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewsMyFilterHandler extends AbstractHandler implements IElementUpdater {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/ReviewsOnlyFilterHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/ReviewsOnlyFilterHandler.java
index 7f3a9f6..59af829 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/ReviewsOnlyFilterHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/ReviewsOnlyFilterHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -40,7 +40,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewsOnlyFilterHandler extends AbstractHandler implements IElementUpdater {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/ReviewsParticipantFilterHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/ReviewsParticipantFilterHandler.java
index 5621eae..ed772fd 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/ReviewsParticipantFilterHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/ReviewsParticipantFilterHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -41,7 +41,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewsParticipantFilterHandler extends AbstractHandler implements IElementUpdater {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/UnassignFilterHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/UnassignFilterHandler.java
index e56a889..3cdf102 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/UnassignFilterHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/filters/UnassignFilterHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2012 Ericsson Research Canada
+ * Copyright (c) 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -41,7 +41,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class UnassignFilterHandler extends AbstractHandler implements IElementUpdater {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/AddAssignHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/AddAssignHandler.java
index 6a91564..9fd7b8b 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/AddAssignHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/AddAssignHandler.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2012 Ericsson Research Canada
+ * Copyright (c) 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -38,7 +38,7 @@
 import org.eclipse.ui.handlers.HandlerUtil;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class AddAssignHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ChangeDisplayHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ChangeDisplayHandler.java
index b208bb3..27317c9 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ChangeDisplayHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ChangeDisplayHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -36,7 +36,7 @@
 import org.eclipse.ui.services.IEvaluationService;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ChangeDisplayHandler extends AbstractHandler implements IElementUpdater {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ChangeReviewStateHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ChangeReviewStateHandler.java
index 6f488c2..4007172 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ChangeReviewStateHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ChangeReviewStateHandler.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -48,7 +48,7 @@
 import org.eclipse.ui.handlers.HandlerUtil;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ChangeReviewStateHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/CloseElementHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/CloseElementHandler.java
index 88bb792..13f77c7 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/CloseElementHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/CloseElementHandler.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -33,7 +33,7 @@
 import org.eclipse.ui.handlers.HandlerUtil;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class CloseElementHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/CollapseAllHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/CollapseAllHandler.java
index 7cb2a54..e498ba1 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/CollapseAllHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/CollapseAllHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -28,7 +28,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class CollapseAllHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ExpandAllHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ExpandAllHandler.java
index 120dc6c..1c3afd9 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ExpandAllHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ExpandAllHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -27,7 +27,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ExpandAllHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/FindReviewItemsHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/FindReviewItemsHandler.java
index 49a2d65..cbe090e 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/FindReviewItemsHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/FindReviewItemsHandler.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -89,7 +89,7 @@
 import org.eclipse.ui.progress.IProgressConstants;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class FindReviewItemsHandler extends AbstractHandler {
@@ -755,7 +755,7 @@
 	/**
 	 * Class TempFileContext internal class that aggregates info needed to import files into R4E
 	 * 
-	 * @author lmcdubo
+	 * @author Sebastien Dubois
 	 */
 	private static class TempFileContext {
 		/**
@@ -859,7 +859,7 @@
 	/**
 	 * Class JobQueueSchedulingRule Job scheduling rule that only allows a certain number of concurrent Jobs
 	 * 
-	 * @author lmcdubo
+	 * @author Sebastien Dubois
 	 */
 	class JobQueueSchedulingRule implements ISchedulingRule {
 
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ImportPostponedHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ImportPostponedHandler.java
index e350640..07773d9 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ImportPostponedHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ImportPostponedHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -56,7 +56,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.utils.UIUtils;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ImportPostponedHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/LinkEditorHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/LinkEditorHandler.java
index 2276a9f..d80058b 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/LinkEditorHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/LinkEditorHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -30,7 +30,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class LinkEditorHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/LinkPropertiesHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/LinkPropertiesHandler.java
index 45b9ab8..24674cf 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/LinkPropertiesHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/LinkPropertiesHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -37,7 +37,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class LinkPropertiesHandler extends AbstractHandler implements IElementUpdater {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NewAnomalyHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NewAnomalyHandler.java
index 55ff72f..1b917ca 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NewAnomalyHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NewAnomalyHandler.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -67,7 +67,7 @@
 import org.eclipse.ui.texteditor.ITextEditor;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class NewAnomalyHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NewChildElementHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NewChildElementHandler.java
index 506ebb2..f9f1827 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NewChildElementHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NewChildElementHandler.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -43,7 +43,7 @@
 import org.eclipse.ui.handlers.HandlerUtil;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class NewChildElementHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NewLinkedAnomalyHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NewLinkedAnomalyHandler.java
index edc1510..495ba69 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NewLinkedAnomalyHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NewLinkedAnomalyHandler.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -37,7 +37,7 @@
 import org.eclipse.ui.handlers.HandlerUtil;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class NewLinkedAnomalyHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NewReviewItemHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NewReviewItemHandler.java
index 8fac069..8987018 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NewReviewItemHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NewReviewItemHandler.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -70,7 +70,7 @@
 import org.eclipse.ui.texteditor.ITextEditor;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class NewReviewItemHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NewRuleSetElementHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NewRuleSetElementHandler.java
index 0c9dc2c..c7d6459 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NewRuleSetElementHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NewRuleSetElementHandler.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -37,7 +37,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class NewRuleSetElementHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NextStateHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NextStateHandler.java
index dec4cf8..99bf23d 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NextStateHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/NextStateHandler.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -50,7 +50,7 @@
 import org.eclipse.ui.handlers.HandlerUtil;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class NextStateHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/OpenEditorHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/OpenEditorHandler.java
index 4f34ad5..d14fe0f 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/OpenEditorHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/OpenEditorHandler.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -31,7 +31,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class OpenEditorHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/OpenElementHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/OpenElementHandler.java
index 1194de9..44af94d 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/OpenElementHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/OpenElementHandler.java
@@ -1,25 +1,5 @@
-// $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
- * 
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Description:
- * 
- * This class implements the review navigator view toolbar command used 
- * to browse the view's treeviewer elements and open the ones that can be open
- * 
- * Contributors:
- *   Sebastien Dubois - Created for Mylyn Review R4E project
- *   
- ******************************************************************************/
-package org.eclipse.mylyn.reviews.r4e.ui.internal.commands.handlers;
-
-/*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2008, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -35,6 +15,7 @@
  *   Sebastien Dubois - Created for Mylyn Review R4E project
  *   
  ******************************************************************************/
+package org.eclipse.mylyn.reviews.r4e.ui.internal.commands.handlers;
 
 import java.io.FileNotFoundException;
 
@@ -59,7 +40,7 @@
 import org.eclipse.ui.handlers.HandlerUtil;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class OpenElementHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/PreviousStateHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/PreviousStateHandler.java
index 110c956..6e00bc9 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/PreviousStateHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/PreviousStateHandler.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -44,7 +44,7 @@
 import org.eclipse.ui.handlers.HandlerUtil;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class PreviousStateHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/RefreshHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/RefreshHandler.java
index 39f456b..8f5e6a4 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/RefreshHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/RefreshHandler.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, useForLoop, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -42,7 +42,7 @@
 import org.eclipse.ui.handlers.HandlerUtil;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class RefreshHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/RemoveAssignHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/RemoveAssignHandler.java
index 41a56fa..cf50a11 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/RemoveAssignHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/RemoveAssignHandler.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2012 Ericsson Research Canada
+ * Copyright (c) 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -39,7 +39,7 @@
 import org.eclipse.ui.handlers.HandlerUtil;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class RemoveAssignHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/RemoveElementHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/RemoveElementHandler.java
index 5c60de7..7709ec9 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/RemoveElementHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/RemoveElementHandler.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -53,7 +53,7 @@
 import org.eclipse.ui.handlers.HandlerUtil;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class RemoveElementHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ReportElementHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ReportElementHandler.java
index 7f1af8d..3f20aa3 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ReportElementHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ReportElementHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -40,7 +40,7 @@
 import org.eclipse.ui.handlers.HandlerUtil;
 
 /**
- * @author lmcbout
+ * @author Jacques Bouthillier
  * @version $Revision: 1.0 $
  */
 public class ReportElementHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/RestoreElementHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/RestoreElementHandler.java
index d067ff0..da40630 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/RestoreElementHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/RestoreElementHandler.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -52,7 +52,7 @@
 import org.eclipse.ui.handlers.HandlerUtil;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class RestoreElementHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/SelectNextHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/SelectNextHandler.java
index a3ffd59..43392f5 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/SelectNextHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/SelectNextHandler.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -40,7 +40,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class SelectNextHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/SelectPreviousHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/SelectPreviousHandler.java
index 110baea..36a46fc 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/SelectPreviousHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/SelectPreviousHandler.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -40,7 +40,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class SelectPreviousHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/SendNotificationHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/SendNotificationHandler.java
index 63cc0c1..633cfdf 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/SendNotificationHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/SendNotificationHandler.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -38,7 +38,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class SendNotificationHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ShowPropertiesHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ShowPropertiesHandler.java
index b5010f1..995fa0d 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ShowPropertiesHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ShowPropertiesHandler.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2012 Ericsson Research Canada
+ * Copyright (c) 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -28,7 +28,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ShowPropertiesHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ShowUiLegendHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ShowUiLegendHandler.java
index 2084b66..c4085ea 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ShowUiLegendHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/handlers/ShowUiLegendHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -28,7 +28,7 @@
 import org.eclipse.ui.progress.UIJob;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ShowUiLegendHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/sorters/AlphaSortHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/sorters/AlphaSortHandler.java
index 3206917..64f893d 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/sorters/AlphaSortHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/sorters/AlphaSortHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -38,7 +38,7 @@
 import org.eclipse.ui.services.IEvaluationService;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class AlphaSortHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/sorters/AlphaSorterTester.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/sorters/AlphaSorterTester.java
index 96aff13..c5b66f3 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/sorters/AlphaSorterTester.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/sorters/AlphaSorterTester.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -22,7 +22,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.sorters.ReviewTypeComparator;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class AlphaSorterTester extends PropertyTester {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/sorters/ReviewTypeSortHandler.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/sorters/ReviewTypeSortHandler.java
index 1faeeb4..6004176 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/sorters/ReviewTypeSortHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/sorters/ReviewTypeSortHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -38,7 +38,7 @@
 import org.eclipse.ui.services.IEvaluationService;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewTypeSortHandler extends AbstractHandler {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/sorters/TypeSorterTester.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/sorters/TypeSorterTester.java
index 8dde4db..98bae58 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/sorters/TypeSorterTester.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/sorters/TypeSorterTester.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -22,7 +22,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.sorters.ReviewTypeComparator;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class TypeSorterTester extends PropertyTester {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/CompletedPropertyTester.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/CompletedPropertyTester.java
index 13cec6c..ce8d2a1 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/CompletedPropertyTester.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/CompletedPropertyTester.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -23,7 +23,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIModelController;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class CompletedPropertyTester extends PropertyTester {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/DisplayPropertyTester.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/DisplayPropertyTester.java
index 16de5d4..1857874 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/DisplayPropertyTester.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/DisplayPropertyTester.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2012 Ericsson Research Canada
+ * Copyright (c) 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -24,7 +24,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.navigator.ReviewNavigatorView;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class DisplayPropertyTester extends PropertyTester {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/JobInProgressPropertyTester.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/JobInProgressPropertyTester.java
index 8fdf468..ab1987a 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/JobInProgressPropertyTester.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/JobInProgressPropertyTester.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -23,7 +23,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIModelController;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class JobInProgressPropertyTester extends PropertyTester {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/NewAnomalyPropertyTester.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/NewAnomalyPropertyTester.java
index df3b265..d18eca8 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/NewAnomalyPropertyTester.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/NewAnomalyPropertyTester.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -39,7 +39,7 @@
 import org.eclipse.ui.PlatformUI;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class NewAnomalyPropertyTester extends PropertyTester {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/NewReviewItemPropertyTester.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/NewReviewItemPropertyTester.java
index e283eae..10b7424 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/NewReviewItemPropertyTester.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/NewReviewItemPropertyTester.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -41,7 +41,7 @@
 import org.eclipse.ui.PlatformUI;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class NewReviewItemPropertyTester extends PropertyTester {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/NextStatePropertyTester.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/NextStatePropertyTester.java
index 3343337..c27978c 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/NextStatePropertyTester.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/NextStatePropertyTester.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -30,7 +30,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIReviewExtended;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class NextStatePropertyTester extends PropertyTester {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/PreviousStatePropertyTester.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/PreviousStatePropertyTester.java
index 61001a1..ac58f64 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/PreviousStatePropertyTester.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/PreviousStatePropertyTester.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -30,7 +30,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIReviewExtended;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class PreviousStatePropertyTester extends PropertyTester {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/ProjectPropertyTester.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/ProjectPropertyTester.java
index d85125f..6d5b14e 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/ProjectPropertyTester.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/ProjectPropertyTester.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -35,7 +35,7 @@
 import org.eclipse.ui.PlatformUI;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ProjectPropertyTester extends PropertyTester {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/ReviewActivePropertyTester.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/ReviewActivePropertyTester.java
index 3c1673f..4d39902 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/ReviewActivePropertyTester.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/commands/testers/ReviewActivePropertyTester.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2012 Ericsson Research Canada
+ * Copyright (c) 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -23,7 +23,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIModelController;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewActivePropertyTester extends PropertyTester {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/AnomalyInputDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/AnomalyInputDialog.java
index 7b7dd4f..6ae0d24 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/AnomalyInputDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/AnomalyInputDialog.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.constructorsOnlyInvokeFinalMethods, useForLoop, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -84,7 +84,7 @@
 import org.eclipse.ui.forms.widgets.Section;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class AnomalyInputDialog extends FormDialog implements IAnomalyInputDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/CalendarDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/CalendarDialog.java
index 0656d61..12718a5 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/CalendarDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/CalendarDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -32,7 +32,7 @@
 import org.eclipse.ui.forms.widgets.ScrolledForm;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class CalendarDialog extends FormDialog implements ICalendarDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ChangeStateDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ChangeStateDialog.java
index 3c1f6cb..61a429b 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ChangeStateDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ChangeStateDialog.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.constructorsOnlyInvokeFinalMethods, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -34,7 +34,7 @@
 import org.eclipse.ui.forms.widgets.ScrolledForm;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ChangeStateDialog extends FormDialog implements IChangeStateDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/CommentInputDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/CommentInputDialog.java
index c70f670..3c8e082 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/CommentInputDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/CommentInputDialog.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.constructorsOnlyInvokeFinalMethods, useForLoop, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -51,7 +51,7 @@
 // ------------------------------------------------------------------------
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class CommentInputDialog extends FormDialog implements ICommentInputDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/FindUserDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/FindUserDialog.java
index 79d00f3..8fe723f 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/FindUserDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/FindUserDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -69,7 +69,7 @@
 import org.eclipse.ui.forms.widgets.ScrolledForm;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class FindUserDialog extends FormDialog implements IFindUserDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IAnomalyInputDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IAnomalyInputDialog.java
index 0890d3f..ca426b5 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IAnomalyInputDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IAnomalyInputDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -24,7 +24,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIRule;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public interface IAnomalyInputDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ICalendarDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ICalendarDialog.java
index a012a1c..1d9aaf4 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ICalendarDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ICalendarDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -20,7 +20,7 @@
 import java.util.Date;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public interface ICalendarDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IChangeStateDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IChangeStateDialog.java
index fdf6f8a..d3471dc 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IChangeStateDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IChangeStateDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -18,7 +18,7 @@
 package org.eclipse.mylyn.reviews.r4e.ui.internal.dialogs;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public interface IChangeStateDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ICommentInputDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ICommentInputDialog.java
index 8b96423..1781cdd 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ICommentInputDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ICommentInputDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -18,7 +18,7 @@
 package org.eclipse.mylyn.reviews.r4e.ui.internal.dialogs;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public interface ICommentInputDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IFindUserDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IFindUserDialog.java
index d5b4516..dbffc47 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IFindUserDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IFindUserDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -22,7 +22,7 @@
 import org.eclipse.mylyn.reviews.userSearch.userInfo.IUserInfo;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public interface IFindUserDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IParticipantInputDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IParticipantInputDialog.java
index d2d190d..147524b 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IParticipantInputDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IParticipantInputDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -22,7 +22,7 @@
 import org.eclipse.mylyn.reviews.r4e.core.model.R4EParticipant;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public interface IParticipantInputDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IParticipantUnassignDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IParticipantUnassignDialog.java
index 4ac694a..7f01cd1 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IParticipantUnassignDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IParticipantUnassignDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2012 Ericsson Research Canada
+ * Copyright (c) 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -22,7 +22,7 @@
 import org.eclipse.mylyn.reviews.r4e.core.model.R4EParticipant;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public interface IParticipantUnassignDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IReviewGroupInputDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IReviewGroupInputDialog.java
index 83e42eb..46fdcb5 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IReviewGroupInputDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IReviewGroupInputDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -19,7 +19,7 @@
 package org.eclipse.mylyn.reviews.r4e.ui.internal.dialogs;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public interface IReviewGroupInputDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IReviewInputDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IReviewInputDialog.java
index 01c1787..bdb8af9 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IReviewInputDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IReviewInputDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -20,7 +20,7 @@
 import org.eclipse.mylyn.reviews.r4e.core.model.R4EReviewType;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public interface IReviewInputDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IRuleAreaInputDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IRuleAreaInputDialog.java
index d2d9899..ee9e48e 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IRuleAreaInputDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IRuleAreaInputDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -18,7 +18,7 @@
 package org.eclipse.mylyn.reviews.r4e.ui.internal.dialogs;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public interface IRuleAreaInputDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IRuleInputDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IRuleInputDialog.java
index dda2f14..cc3d267 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IRuleInputDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IRuleInputDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -21,7 +21,7 @@
 import org.eclipse.mylyn.reviews.r4e.core.model.drules.R4EDesignRuleRank;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public interface IRuleInputDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IRuleSetInputDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IRuleSetInputDialog.java
index c91abfa..1bd203a 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IRuleSetInputDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IRuleSetInputDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -18,7 +18,7 @@
 package org.eclipse.mylyn.reviews.r4e.ui.internal.dialogs;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public interface IRuleSetInputDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IRuleViolationInputDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IRuleViolationInputDialog.java
index a13e68a..75c1d88 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IRuleViolationInputDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/IRuleViolationInputDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -18,7 +18,7 @@
 package org.eclipse.mylyn.reviews.r4e.ui.internal.dialogs;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public interface IRuleViolationInputDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ISendNotificationInputDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ISendNotificationInputDialog.java
index 23731c1..e1290fe 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ISendNotificationInputDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ISendNotificationInputDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -18,7 +18,7 @@
 package org.eclipse.mylyn.reviews.r4e.ui.internal.dialogs;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public interface ISendNotificationInputDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ParticipantInputDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ParticipantInputDialog.java
index 20432d7..07c6e26 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ParticipantInputDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ParticipantInputDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -79,7 +79,7 @@
 import org.eclipse.ui.forms.widgets.Section;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ParticipantInputDialog extends FormDialog implements IParticipantInputDialog, IEditableListListener {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ParticipantUnassignDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ParticipantUnassignDialog.java
index 403dcc7..7cdaea1 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ParticipantUnassignDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ParticipantUnassignDialog.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2012 Ericsson Research Canada
+ * Copyright (c) 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -47,7 +47,7 @@
 import org.eclipse.ui.forms.widgets.ScrolledForm;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ParticipantUnassignDialog extends FormDialog implements IParticipantUnassignDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/R4EInputValidator.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/R4EInputValidator.java
index 16a27c6..8f46ffd 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/R4EInputValidator.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/R4EInputValidator.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -28,7 +28,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.utils.WildcardFileFilter;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EInputValidator implements IInputValidator {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/R4EUIDialogFactory.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/R4EUIDialogFactory.java
index 2d27a1c..276f3eb 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/R4EUIDialogFactory.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/R4EUIDialogFactory.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -33,7 +33,7 @@
 import org.eclipse.swt.widgets.Display;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 @SuppressWarnings("restriction")
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ReviewGroupInputDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ReviewGroupInputDialog.java
index 56dc0eb..28d3d21 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ReviewGroupInputDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ReviewGroupInputDialog.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.constructorsOnlyInvokeFinalMethods, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -60,7 +60,7 @@
 import org.eclipse.ui.forms.widgets.Section;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewGroupInputDialog extends FormDialog implements IReviewGroupInputDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ReviewInputDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ReviewInputDialog.java
index f28278f..df0fb00 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ReviewInputDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/ReviewInputDialog.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.constructorsOnlyInvokeFinalMethods, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -55,7 +55,7 @@
 import org.eclipse.ui.forms.widgets.Section;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewInputDialog extends FormDialog implements IReviewInputDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/RuleAreaInputDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/RuleAreaInputDialog.java
index f981c5a..1b59c3f 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/RuleAreaInputDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/RuleAreaInputDialog.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.constructorsOnlyInvokeFinalMethods, useForLoop, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -50,7 +50,7 @@
 // ------------------------------------------------------------------------
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class RuleAreaInputDialog extends FormDialog implements IRuleAreaInputDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/RuleInputDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/RuleInputDialog.java
index 46b982d..fbd41db 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/RuleInputDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/RuleInputDialog.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.constructorsOnlyInvokeFinalMethods, useForLoop, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -54,7 +54,7 @@
 // ------------------------------------------------------------------------
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class RuleInputDialog extends FormDialog implements IRuleInputDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/RuleSetInputDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/RuleSetInputDialog.java
index 5400e5d..7859162 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/RuleSetInputDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/RuleSetInputDialog.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.constructorsOnlyInvokeFinalMethods, useForLoop, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -56,7 +56,7 @@
 // ------------------------------------------------------------------------
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class RuleSetInputDialog extends FormDialog implements IRuleSetInputDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/RuleViolationInputDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/RuleViolationInputDialog.java
index 042b59e..44166c7 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/RuleViolationInputDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/RuleViolationInputDialog.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.constructorsOnlyInvokeFinalMethods, useForLoop, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -50,7 +50,7 @@
 // ------------------------------------------------------------------------
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class RuleViolationInputDialog extends FormDialog implements IRuleViolationInputDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/SendNotificationInputDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/SendNotificationInputDialog.java
index 2ae8d45..72ca099 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/SendNotificationInputDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/dialogs/SendNotificationInputDialog.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.constructorsOnlyInvokeFinalMethods, useForLoop, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -45,7 +45,7 @@
 // ------------------------------------------------------------------------
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class SendNotificationInputDialog extends FormDialog implements ISendNotificationInputDialog {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/EditableSharedDocumentAdapter.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/EditableSharedDocumentAdapter.java
index e3ef7d5..6a29241 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/EditableSharedDocumentAdapter.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/EditableSharedDocumentAdapter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
+ * Copyright (c) 2005, 2012 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -27,7 +27,7 @@
  * <p>
  * This adapter must have a one-to-one correspondence to a typed element.
  * 
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 class EditableSharedDocumentAdapter extends SharedDocumentAdapter implements IElementStateListener {
@@ -51,7 +51,7 @@
 	 * Interface that provides this adapter with the state of the typed element and supports call backs to the element
 	 * when the adapter state changes.
 	 * 
-	 * @author lmcdubo
+	 * @author Sebastien Dubois
 	 */
 	public interface ISharedDocumentAdapterListener {
 
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/EditorProxy.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/EditorProxy.java
index f1b8d09..0313c8f 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/EditorProxy.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/EditorProxy.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, useForLoop, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -54,7 +54,7 @@
 import org.eclipse.ui.texteditor.ITextEditor;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class EditorProxy {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/FilePathEditor.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/FilePathEditor.java
index 33c38db..aab6c05 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/FilePathEditor.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/FilePathEditor.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.constructorsOnlyInvokeFinalMethods, useForLoop, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, com.instantiations.assist.eclipse.analysis.pathManipulation, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -37,7 +37,7 @@
 import org.eclipse.swt.widgets.List;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class FilePathEditor extends ListEditor {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/R4ECompareEditorInput.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/R4ECompareEditorInput.java
index 4089f10..5fd7f05 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/R4ECompareEditorInput.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/R4ECompareEditorInput.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -35,7 +35,7 @@
 import org.eclipse.team.ui.synchronize.SaveableCompareEditorInput;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4ECompareEditorInput extends SaveableCompareEditorInput {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/R4EFileEditorInput.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/R4EFileEditorInput.java
index 337a197..60c6b38 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/R4EFileEditorInput.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/R4EFileEditorInput.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -30,7 +30,7 @@
 /**
  * An Editor input for file revisions
  * 
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EFileEditorInput extends PlatformObject implements IFileEditorInput {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/R4EFileRevisionEditorInput.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/R4EFileRevisionEditorInput.java
index 30bdd7e..fb8102d 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/R4EFileRevisionEditorInput.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/R4EFileRevisionEditorInput.java
@@ -1,13 +1,13 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
+ * Copyright (c) 2005, 2012 Ericsson AB and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
  *
  * Contributors:
- *     IBM Corporation - initial API and implementation
- * Ericsson (Sebastien Dubois) - Adapted to use with R4E
+ *     IBM Corporation  - initial API and implementation
+ *     Ericsson AB - Adapted to use with R4E
  *******************************************************************************/
 package org.eclipse.mylyn.reviews.r4e.ui.internal.editors;
 
@@ -27,7 +27,7 @@
 /**
  * An Editor input for file revisions
  * 
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EFileRevisionEditorInput extends PlatformObject implements IWorkbenchAdapter, IStorageEditorInput {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/R4EFileRevisionTypedElement.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/R4EFileRevisionTypedElement.java
index fe80ff7..8ef278a 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/R4EFileRevisionTypedElement.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/R4EFileRevisionTypedElement.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
+ * Copyright (c) 2006, 2012 Ericsson AB and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,7 +7,7 @@
  *
  * Contributors:
  * IBM Corporation - initial API and implementation
- * Ericsson (Sebastien Dubois) - Adapted to use with R4E
+ * Ericsson AB     - Adapted to use with R4E
  *******************************************************************************/
 package org.eclipse.mylyn.reviews.r4e.ui.internal.editors;
 
@@ -32,7 +32,7 @@
 /**
  * An {@link ITypedElement} wrapper for {@link IFileRevision} for use with R4E
  * 
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EFileRevisionTypedElement extends StorageTypedElement {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/R4EFileTypedElement.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/R4EFileTypedElement.java
index 42cf8e6..2254f18 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/R4EFileTypedElement.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/editors/R4EFileTypedElement.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -37,7 +37,7 @@
 /**
  * An {@link ITypedElement} wrapper for {@link IFileRevision} for use with R4E
  * 
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EFileTypedElement extends LocalResourceTypedElement implements IAdaptable {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/AnomaliesMyFilter.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/AnomaliesMyFilter.java
index 4b28185..aeec096 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/AnomaliesMyFilter.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/AnomaliesMyFilter.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, useForLoop, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -37,7 +37,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIRuleViolation;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class AnomaliesMyFilter extends ViewerFilter {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/AnomaliesOnlyFilter.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/AnomaliesOnlyFilter.java
index 0acaaf7..58dbeb6 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/AnomaliesOnlyFilter.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/AnomaliesOnlyFilter.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, packageJavadoc
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -35,7 +35,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIRuleViolation;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class AnomaliesOnlyFilter extends ViewerFilter {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/AssignParticipantFilter.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/AssignParticipantFilter.java
index 2fb0618..127ae07 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/AssignParticipantFilter.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/AssignParticipantFilter.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, useForLoop, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2012 Ericsson Research Canada
+ * Copyright (c) 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -33,7 +33,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIReviewItem;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class AssignParticipantFilter extends ViewerFilter {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/FocusFilter.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/FocusFilter.java
index 601b323..5ddfb0b 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/FocusFilter.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/FocusFilter.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, useForLoop, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -25,7 +25,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIModelController;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class FocusFilter extends ViewerFilter {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/HideDeltasFilter.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/HideDeltasFilter.java
index 9e77f6c..4a24f8a 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/HideDeltasFilter.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/HideDeltasFilter.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -25,7 +25,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIDeltaContainer;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class HideDeltasFilter extends ViewerFilter {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/HideRuleSetsFilter.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/HideRuleSetsFilter.java
index 602e0ba..f2ed68e 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/HideRuleSetsFilter.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/HideRuleSetsFilter.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -27,7 +27,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIRuleViolation;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class HideRuleSetsFilter extends ViewerFilter {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/ReviewCompletedFilter.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/ReviewCompletedFilter.java
index 576cc53..5e281ab 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/ReviewCompletedFilter.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/ReviewCompletedFilter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -31,7 +31,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIRuleViolation;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewCompletedFilter extends ViewerFilter {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/ReviewParticipantFilter.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/ReviewParticipantFilter.java
index c30a7e3..aca7b0a 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/ReviewParticipantFilter.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/ReviewParticipantFilter.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, useForLoop, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -26,7 +26,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIReviewGroup;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewParticipantFilter extends ViewerFilter {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/ReviewedElemsFilter.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/ReviewedElemsFilter.java
index 6e8fa79..e73391e 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/ReviewedElemsFilter.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/ReviewedElemsFilter.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -24,7 +24,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.IR4EUIModelElement;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewedElemsFilter extends ViewerFilter {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/ReviewsOnlyFilter.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/ReviewsOnlyFilter.java
index 8c1564f..7f0e390 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/ReviewsOnlyFilter.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/ReviewsOnlyFilter.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -25,7 +25,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIReviewGroup;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewsOnlyFilter extends ViewerFilter {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/TreeTableFilter.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/TreeTableFilter.java
index c796e2b..ff0a2f5 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/TreeTableFilter.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/TreeTableFilter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2012 Ericsson Research Canada
+ * Copyright (c) 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -25,7 +25,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIReviewItem;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class TreeTableFilter extends ViewerFilter {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/UnassignParticipantFilter.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/UnassignParticipantFilter.java
index 4c00d52..7c018a2 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/UnassignParticipantFilter.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/filters/UnassignParticipantFilter.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, useForLoop, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2012 Ericsson Research Canada
+ * Copyright (c) 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -33,7 +33,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIReviewItem;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class UnassignParticipantFilter extends ViewerFilter {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/IR4EUIModelElement.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/IR4EUIModelElement.java
index 8013722..e496dd6 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/IR4EUIModelElement.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/IR4EUIModelElement.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.disallowReturnMutable, packageJavadoc
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -30,7 +30,7 @@
 import org.eclipse.swt.graphics.Image;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/IR4EUIPosition.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/IR4EUIPosition.java
index 486f1ac..6c3eb7b 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/IR4EUIPosition.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/IR4EUIPosition.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -23,7 +23,7 @@
 import org.eclipse.mylyn.reviews.r4e.core.model.serial.impl.ResourceHandlingException;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public interface IR4EUIPosition {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIAnomalyBasic.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIAnomalyBasic.java
index 9d84ae3..3de846a 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIAnomalyBasic.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIAnomalyBasic.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, com.instantiations.assist.eclipse.analysis.mutabilityOfArrays
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -50,7 +50,7 @@
 import org.eclipse.ui.views.properties.IPropertySource;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUIAnomalyBasic extends R4EUIModelElement {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIAnomalyContainer.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIAnomalyContainer.java
index 3b6fc76..421beeb 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIAnomalyContainer.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIAnomalyContainer.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -58,7 +58,7 @@
 import org.eclipse.swt.widgets.Display;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUIAnomalyContainer extends R4EUIModelElement {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIAnomalyExtended.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIAnomalyExtended.java
index 82b177e..4bb474f 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIAnomalyExtended.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIAnomalyExtended.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -32,7 +32,7 @@
 import org.eclipse.ui.views.properties.IPropertySource;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUIAnomalyExtended extends R4EUIAnomalyBasic {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIComment.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIComment.java
index 0c88fae..a957f62 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIComment.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIComment.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, com.instantiations.assist.eclipse.analysis.mutabilityOfArrays, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -31,7 +31,7 @@
 import org.eclipse.ui.views.properties.IPropertySource;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUIComment extends R4EUIModelElement {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIContent.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIContent.java
index 0d5dc23..011f6f0 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIContent.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIContent.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, com.instantiations.assist.eclipse.analysis.mutabilityOfArrays
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -36,7 +36,7 @@
 import org.eclipse.ui.views.properties.IPropertySource;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public abstract class R4EUIContent extends R4EUIModelElement {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIContentsContainer.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIContentsContainer.java
index 1a21746..218764e 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIContentsContainer.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIContentsContainer.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -30,7 +30,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.utils.UIUtils;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public abstract class R4EUIContentsContainer extends R4EUIModelElement {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIDelta.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIDelta.java
index e6dad86..8fac235 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIDelta.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIDelta.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, com.instantiations.assist.eclipse.analysis.mutabilityOfArrays
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -21,7 +21,7 @@
 import org.eclipse.mylyn.reviews.r4e.core.model.R4EDelta;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUIDelta extends R4EUIContent {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIDeltaContainer.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIDeltaContainer.java
index 00dd11d..f12d6b4 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIDeltaContainer.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIDeltaContainer.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -27,7 +27,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.preferences.PreferenceConstants;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUIDeltaContainer extends R4EUIContentsContainer {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIFileContainer.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIFileContainer.java
index 6bd5c4d..874c952 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIFileContainer.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIFileContainer.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -32,7 +32,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.utils.UIUtils;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public abstract class R4EUIFileContainer extends R4EUIModelElement {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIFileContext.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIFileContext.java
index 00b9945..bc98f2c 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIFileContext.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIFileContext.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, com.instantiations.assist.eclipse.analysis.mutabilityOfArrays
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -46,7 +46,7 @@
 import org.eclipse.ui.views.properties.IPropertySource;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUIFileContext extends R4EUIModelElement {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIModelController.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIModelController.java
index 4c0576c..a9ca73d 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIModelController.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIModelController.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, useForLoop, staticFieldSecurity, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -60,7 +60,7 @@
 import org.eclipse.ui.services.IEvaluationService;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUIModelController {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIModelElement.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIModelElement.java
index 9871359..62a668f 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIModelElement.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIModelElement.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, com.instantiations.assist.eclipse.analysis.instanceFieldSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -37,7 +37,7 @@
 import org.eclipse.ui.views.properties.IPropertySource;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public abstract class R4EUIModelElement implements IR4EUIModelElement, // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.preferInterfacesToAbstractClasses
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIParticipant.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIParticipant.java
index a7349b8..fc673d1 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIParticipant.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIParticipant.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, com.instantiations.assist.eclipse.analysis.mutabilityOfArrays, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -45,7 +45,7 @@
 import org.eclipse.ui.views.properties.IPropertySource;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUIParticipant extends R4EUIModelElement {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIParticipantContainer.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIParticipantContainer.java
index c1ced38..89167e7 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIParticipantContainer.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIParticipantContainer.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -35,7 +35,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.preferences.PreferenceConstants;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUIParticipantContainer extends R4EUIModelElement {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIPostponedAnomaly.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIPostponedAnomaly.java
index 221db14..951eac8 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIPostponedAnomaly.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIPostponedAnomaly.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, com.instantiations.assist.eclipse.analysis.mutabilityOfArrays
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -42,7 +42,7 @@
 import org.eclipse.ui.views.properties.IPropertySource;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUIPostponedAnomaly extends R4EUIAnomalyExtended {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIPostponedContainer.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIPostponedContainer.java
index 14494a5..73f2f7e 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIPostponedContainer.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIPostponedContainer.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -40,7 +40,7 @@
 import org.eclipse.team.core.history.IFileRevision;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUIPostponedContainer extends R4EUIFileContainer {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIPostponedFile.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIPostponedFile.java
index 2c470c9..5df954f 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIPostponedFile.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIPostponedFile.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, com.instantiations.assist.eclipse.analysis.mutabilityOfArrays
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -48,7 +48,7 @@
 import org.eclipse.ui.views.properties.IPropertySource;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUIPostponedFile extends R4EUIFileContext {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIReviewBasic.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIReviewBasic.java
index 6d77820..79fb4e8 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIReviewBasic.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIReviewBasic.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, com.instantiations.assist.eclipse.analysis.instanceFieldSecurity, com.instantiations.assist.eclipse.analysis.mutabilityOfArrays
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -66,7 +66,7 @@
 import org.eclipse.ui.views.properties.IPropertySource;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUIReviewBasic extends R4EUIModelElement {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIReviewExtended.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIReviewExtended.java
index d2f23f4..1fae8aa 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIReviewExtended.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIReviewExtended.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -42,7 +42,7 @@
 import org.eclipse.ui.views.properties.IPropertySource;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUIReviewExtended extends R4EUIReviewBasic {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIReviewGroup.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIReviewGroup.java
index 54812e7..db6d115 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIReviewGroup.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIReviewGroup.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, com.instantiations.assist.eclipse.analysis.instanceFieldSecurity, com.instantiations.assist.eclipse.analysis.mutabilityOfArrays
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -54,7 +54,7 @@
 import org.eclipse.ui.views.properties.IPropertySource;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUIReviewGroup extends R4EUIModelElement {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIReviewItem.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIReviewItem.java
index e017889..d53821d 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIReviewItem.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIReviewItem.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, com.instantiations.assist.eclipse.analysis.mutabilityOfArrays
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -44,7 +44,7 @@
 import org.eclipse.ui.views.properties.IPropertySource;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUIReviewItem extends R4EUIFileContainer {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIRootElement.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIRootElement.java
index 0009134..60d4855 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIRootElement.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIRootElement.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -45,7 +45,7 @@
 import org.eclipse.swt.widgets.Display;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUIRootElement extends R4EUIModelElement {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIRule.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIRule.java
index 7362d0d..0a2901c 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIRule.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIRule.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, com.instantiations.assist.eclipse.analysis.mutabilityOfArrays
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -27,7 +27,7 @@
 import org.eclipse.ui.views.properties.IPropertySource;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUIRule extends R4EUIModelElement {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIRuleArea.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIRuleArea.java
index 1420694..2b35553 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIRuleArea.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIRuleArea.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -37,7 +37,7 @@
 import org.eclipse.ui.views.properties.IPropertySource;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUIRuleArea extends R4EUIModelElement {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIRuleSet.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIRuleSet.java
index 1a4c2f0..be6075d 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIRuleSet.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIRuleSet.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -42,7 +42,7 @@
 import org.eclipse.ui.views.properties.IPropertySource;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUIRuleSet extends R4EUIModelElement {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIRuleViolation.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIRuleViolation.java
index 77652d5..4c393cd 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIRuleViolation.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUIRuleViolation.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -37,7 +37,7 @@
 import org.eclipse.ui.views.properties.IPropertySource;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUIRuleViolation extends R4EUIModelElement {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUISelection.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUISelection.java
index 1586596..7d7c563 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUISelection.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUISelection.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, com.instantiations.assist.eclipse.analysis.mutabilityOfArrays
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -21,7 +21,7 @@
 import org.eclipse.mylyn.reviews.r4e.core.model.R4EDelta;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUISelection extends R4EUIContent {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUISelectionContainer.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUISelectionContainer.java
index 5e38e50..31840c6 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUISelectionContainer.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUISelectionContainer.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -31,7 +31,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.preferences.PreferenceConstants;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUISelectionContainer extends R4EUIContentsContainer {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUITextPosition.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUITextPosition.java
index c6e6d28..61b3fdd 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUITextPosition.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/model/R4EUITextPosition.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -34,7 +34,7 @@
 import org.eclipse.ui.texteditor.IDocumentProvider;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EUITextPosition implements IR4EUIPosition {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/LineViewerSorter.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/LineViewerSorter.java
index 1c9698d..e1e2fd3 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/LineViewerSorter.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/LineViewerSorter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -22,7 +22,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUITextPosition;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class LineViewerSorter extends ViewerSorter {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/R4EUILegendControl.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/R4EUILegendControl.java
index c2c098f..7e3f5ca 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/R4EUILegendControl.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/R4EUILegendControl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2008 Tasktop Technologies and others.
+ * Copyright (c) 2004, 2012 Tasktop Technologies and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/R4EUILegendDialog.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/R4EUILegendDialog.java
index cf0fa1c..8db7ff4 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/R4EUILegendDialog.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/R4EUILegendDialog.java
@@ -1,18 +1,13 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
  * accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
  * 
- * Description:
- * 
- * This class implements a dialog that shows the UI legend dialog
- * NOTE:  This is adapted from Mylyn UiLegendDialog class (c) Tasktop 2004, 2008
- * 
  * Contributors:
- *   Sebastien Dubois - Created for Mylyn Review R4E project
+ *   Ericsson AB - Created for Mylyn Review R4E project
  *   
  ******************************************************************************/
 
@@ -31,55 +26,62 @@
 import org.eclipse.ui.forms.widgets.TableWrapLayout;
 
 /**
+ * This class implements a dialog that shows the UI legend dialog NOTE: This is adapted from Mylyn UiLegendDialog EPL
+ * class (c) Tasktop 2004, 2008
+ * 
  * @author Sebastien Dubois
- * @version $Revision: 1.0 $
+ * @version $Revision: 1.0 $
  */
 public class R4EUILegendDialog extends PopupDialog {
 
-	/**
-	 * Field CLOSE_ICON_FILE.
-	 * (value is ""icons/view16/notclose_misc.gif"")
-	 */
+	/**
+	 * Field CLOSE_ICON_FILE. (value is ""icons/view16/notclose_misc.gif"")
+	 */
 	private static final String CLOSE_ICON_FILE = "icons/view16/notclose_misc.gif";
 
-	/**
-	 * Field toolkit.
-	 */
+	/**
+	 * Field toolkit.
+	 */
 	private FormToolkit toolkit;
 
-	/**
-	 * Field form.
-	 */
+	/**
+	 * Field form.
+	 */
 	private ScrolledForm form;
 
-	/**
-	 * Field content.
-	 */
+	/**
+	 * Field content.
+	 */
 	private R4EUILegendControl content;
 
-	/**
-	 * Constructor for R4EUILegendDialog.
-	 * @param parent Shell
-	 */
+	/**
+	 * Constructor for R4EUILegendDialog.
+	 * 
+	 * @param parent
+	 *            Shell
+	 */
 	public R4EUILegendDialog(Shell parent) {
 		super(parent, PopupDialog.INFOPOPUP_SHELLSTYLE | SWT.ON_TOP, false, false, false, false, false, null, null);
 	}
 
-	/**
-	 * Method createContents.
-	 * @param parent Composite
-	 * @return Control
-	 */
+	/**
+	 * Method createContents.
+	 * 
+	 * @param parent
+	 *            Composite
+	 * @return Control
+	 */
 	@Override
 	protected Control createContents(Composite parent) {
 		getShell().setBackground(getShell().getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY));
 		return createDialogArea(parent);
 	}
 
-	/**
-	 * Method open.
-	 * @return int
-	 */
+	/**
+	 * Method open.
+	 * 
+	 * @return int
+	 */
 	@Override
 	public int open() {
 		final int open = super.open();
@@ -88,10 +90,11 @@
 		return open;
 	}
 
-	/**
-	 * Method close.
-	 * @return boolean
-	 */
+	/**
+	 * Method close.
+	 * 
+	 * @return boolean
+	 */
 	@Override
 	public boolean close() {
 		if (null != toolkit) {
@@ -100,11 +103,13 @@
 		return super.close();
 	}
 
-	/**
-	 * Method createDialogArea.
-	 * @param parent Composite
-	 * @return Control
-	 */
+	/**
+	 * Method createDialogArea.
+	 * 
+	 * @param parent
+	 *            Composite
+	 * @return Control
+	 */
 	@Override
 	protected Control createDialogArea(Composite parent) {
 		toolkit = new FormToolkit(R4EUIPlugin.getDefault().getFormColors(parent.getDisplay()));
@@ -122,14 +127,14 @@
 		return parent;
 	}
 
-	/**
-	 * @author lmcdubo
-	 */
+	/**
+	 * @author Sebastien Dubois
+	 */
 	private class CloseDialogAction extends Action {
 
-		/**
-		 * Constructor for CloseDialogAction.
-		 */
+		/**
+		 * Constructor for CloseDialogAction.
+		 */
 		private CloseDialogAction() {
 			setImageDescriptor(ImageDescriptor.createFromURL(R4EUIPlugin.getDefault()
 					.getBundle()
@@ -137,10 +142,11 @@
 			setText("Close");
 		}
 
-		/**
-		 * Method run.
-		 * @see org.eclipse.jface.action.IAction#run()
-		 */
+		/**
+		 * Method run.
+		 * 
+		 * @see org.eclipse.jface.action.IAction#run()
+		 */
 		@Override
 		public void run() {
 			close();
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorActionGroup.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorActionGroup.java
index 0a194ea..db607ae 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorActionGroup.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorActionGroup.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -50,7 +50,7 @@
 import org.eclipse.ui.handlers.IHandlerService;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewNavigatorActionGroup extends ActionGroup {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorContentProvider.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorContentProvider.java
index 8b91fff..aca349c 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorContentProvider.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorContentProvider.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, packageJavadoc, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -25,7 +25,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.IR4EUIModelElement;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewNavigatorContentProvider implements ITreeContentProvider {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorDecorator.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorDecorator.java
index 4b268d4..b481fb0 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorDecorator.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorDecorator.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, useForLoop, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -39,7 +39,7 @@
 import org.eclipse.swt.widgets.Display;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewNavigatorDecorator implements ILabelDecorator, IFontDecorator, IColorDecorator {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorLabelProvider.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorLabelProvider.java
index 419d89b..6011f3d 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorLabelProvider.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorLabelProvider.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -27,7 +27,7 @@
 import org.eclipse.swt.graphics.Point;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewNavigatorLabelProvider extends ColumnLabelProvider {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorTreeViewer.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorTreeViewer.java
index 48b0880..06c83f7 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorTreeViewer.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorTreeViewer.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -49,7 +49,7 @@
 import org.eclipse.swt.widgets.TreeItem;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewNavigatorTreeViewer extends TreeViewer {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorView.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorView.java
index 85ceeae..656beb2 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorView.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/navigator/ReviewNavigatorView.java
@@ -1,6 +1,6 @@
 // $codepro.audit.able com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -97,7 +97,7 @@
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewNavigatorView extends ViewPart implements IMenuListener, IPreferenceChangeListener,
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/preferences/PreferenceConstants.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/preferences/PreferenceConstants.java
index 4c86c26..b1d0ca0 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/preferences/PreferenceConstants.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/preferences/PreferenceConstants.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, packageJavadoc
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -32,7 +32,7 @@
 /**
  * Constant definitions for plug-in preferences
  * 
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class PreferenceConstants { // $codepro.audit.disable convertClassToInterface
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/preferences/PreferenceInitializer.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/preferences/PreferenceInitializer.java
index e1b3f1c..c11f41a 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/preferences/PreferenceInitializer.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/preferences/PreferenceInitializer.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -25,7 +25,7 @@
 /**
  * Class used to initialize default preference values.
  * 
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class PreferenceInitializer extends AbstractPreferenceInitializer {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/preferences/R4EPreferencePage.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/preferences/R4EPreferencePage.java
index 53df5ef..af70b06 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/preferences/R4EPreferencePage.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/preferences/R4EPreferencePage.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.constructorsOnlyInvokeFinalMethods, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -78,7 +78,7 @@
 import org.eclipse.ui.IWorkbenchPreferencePage;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class R4EPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage,
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/AnomalyBasicProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/AnomalyBasicProperties.java
index 9c5cd46..04a12a9 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/AnomalyBasicProperties.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/AnomalyBasicProperties.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -27,7 +27,7 @@
 import org.eclipse.ui.views.properties.PropertyDescriptor;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class AnomalyBasicProperties extends ModelElementProperties {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/AnomalyExtraProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/AnomalyExtraProperties.java
index 70517fc..b10692f 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/AnomalyExtraProperties.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/AnomalyExtraProperties.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -23,7 +23,7 @@
 import org.eclipse.ui.views.properties.PropertyDescriptor;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class AnomalyExtraProperties extends AnomalyBasicProperties {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/CommentProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/CommentProperties.java
index a2df367..8b50d01 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/CommentProperties.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/CommentProperties.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -24,7 +24,7 @@
 import org.eclipse.ui.views.properties.PropertyDescriptor;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class CommentProperties extends ModelElementProperties {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ContentsProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ContentsProperties.java
index a8fbda4..0e16ab9 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ContentsProperties.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ContentsProperties.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -24,7 +24,7 @@
 import org.eclipse.ui.views.properties.PropertyDescriptor;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ContentsProperties extends ModelElementProperties {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/FileContextProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/FileContextProperties.java
index 129d288..be8546a 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/FileContextProperties.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/FileContextProperties.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -24,7 +24,7 @@
 import org.eclipse.ui.views.properties.PropertyDescriptor;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class FileContextProperties extends ModelElementProperties {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/FileVersionSourceProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/FileVersionSourceProperties.java
index c34fb5b..f6f8467 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/FileVersionSourceProperties.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/FileVersionSourceProperties.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, com.instantiations.assist.eclipse.analysis.mutabilityOfArrays, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -27,7 +27,7 @@
 import org.eclipse.ui.views.properties.PropertyDescriptor;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class FileVersionSourceProperties implements IPropertySource {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ModelElementProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ModelElementProperties.java
index 97a0e79..21fd1e9 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ModelElementProperties.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ModelElementProperties.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -22,7 +22,7 @@
 import org.eclipse.ui.views.properties.IPropertySource;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ModelElementProperties implements IPropertySource {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ParticipantProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ParticipantProperties.java
index 905089d..2c1a27d 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ParticipantProperties.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ParticipantProperties.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -32,7 +32,7 @@
 import org.eclipse.ui.views.properties.PropertyDescriptor;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ParticipantProperties extends ModelElementProperties {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/PostponedAnomalyProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/PostponedAnomalyProperties.java
index 145203c..ee3dcb4 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/PostponedAnomalyProperties.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/PostponedAnomalyProperties.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2012 Ericsson Research Canada
+ * Copyright (c) 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -23,7 +23,7 @@
 import org.eclipse.ui.views.properties.PropertyDescriptor;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class PostponedAnomalyProperties extends AnomalyExtraProperties {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/PostponedFileProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/PostponedFileProperties.java
index dba72cc..50d3218 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/PostponedFileProperties.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/PostponedFileProperties.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -24,7 +24,7 @@
 import org.eclipse.ui.views.properties.PropertyDescriptor;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class PostponedFileProperties extends ModelElementProperties {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewDecisionProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewDecisionProperties.java
index c77d10f..b5777c0 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewDecisionProperties.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewDecisionProperties.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -29,7 +29,7 @@
 import org.eclipse.ui.views.properties.PropertyDescriptor;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewDecisionProperties extends ModelElementProperties {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewGroupProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewGroupProperties.java
index 197b38e..753969d 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewGroupProperties.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewGroupProperties.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -24,7 +24,7 @@
 import org.eclipse.ui.views.properties.PropertyDescriptor;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewGroupProperties extends ModelElementProperties {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewItemProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewItemProperties.java
index 7bc1dc7..71d11a1 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewItemProperties.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewItemProperties.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -29,7 +29,7 @@
 import org.eclipse.ui.views.properties.PropertyDescriptor;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewItemProperties extends ModelElementProperties {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewMeetingProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewMeetingProperties.java
index e818592..a0cb236 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewMeetingProperties.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewMeetingProperties.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -27,7 +27,7 @@
 import org.eclipse.ui.views.properties.PropertyDescriptor;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewMeetingProperties extends ModelElementProperties {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewPhaseProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewPhaseProperties.java
index b7a8968..b73a7e9 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewPhaseProperties.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewPhaseProperties.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -29,7 +29,7 @@
 import org.eclipse.ui.views.properties.PropertyDescriptor;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewPhaseProperties extends ModelElementProperties {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewProperties.java
index 814f812..43259ed 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewProperties.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewProperties.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -24,7 +24,7 @@
 import org.eclipse.ui.views.properties.PropertyDescriptor;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewProperties extends ModelElementProperties {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/RuleAreaProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/RuleAreaProperties.java
index bba5738..3aeaa5b 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/RuleAreaProperties.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/RuleAreaProperties.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -24,7 +24,7 @@
 import org.eclipse.ui.views.properties.PropertyDescriptor;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class RuleAreaProperties extends ModelElementProperties {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/RuleProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/RuleProperties.java
index f446e4e..a43b7fb 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/RuleProperties.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/RuleProperties.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -26,7 +26,7 @@
 import org.eclipse.ui.views.properties.PropertyDescriptor;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class RuleProperties extends ModelElementProperties {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/RuleSetProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/RuleSetProperties.java
index a382e18..71b4387 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/RuleSetProperties.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/RuleSetProperties.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -24,7 +24,7 @@
 import org.eclipse.ui.views.properties.PropertyDescriptor;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class RuleSetProperties extends ModelElementProperties {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/RuleViolationProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/RuleViolationProperties.java
index f722efa..1b1db67 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/RuleViolationProperties.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/RuleViolationProperties.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -24,7 +24,7 @@
 import org.eclipse.ui.views.properties.PropertyDescriptor;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class RuleViolationProperties extends ModelElementProperties {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/AnomalyTabPropertySection.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/AnomalyTabPropertySection.java
index f1ee11e..f2e5c64 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/AnomalyTabPropertySection.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/AnomalyTabPropertySection.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, staticFieldSecurity, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, com.instantiations.assist.eclipse.analysis.instanceFieldSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -69,7 +69,7 @@
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class AnomalyTabPropertySection extends ModelElementTabPropertySection {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/CommentTabPropertySection.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/CommentTabPropertySection.java
index 34e7145..ecc8754 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/CommentTabPropertySection.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/CommentTabPropertySection.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, staticFieldSecurity, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, com.instantiations.assist.eclipse.analysis.instanceFieldSecurity, sourceLength, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -36,7 +36,7 @@
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class CommentTabPropertySection extends ModelElementTabPropertySection {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ContentsTabPropertySection.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ContentsTabPropertySection.java
index 199557a..91eb92b 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ContentsTabPropertySection.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ContentsTabPropertySection.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, staticFieldSecurity, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -42,7 +42,7 @@
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ContentsTabPropertySection extends ModelElementTabPropertySection {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/FileContextTabPropertySection.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/FileContextTabPropertySection.java
index 6d81807..64c1ddf 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/FileContextTabPropertySection.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/FileContextTabPropertySection.java
@@ -1,21 +1,14 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, staticFieldSecurity, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
-/*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
- * 
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Description:
- * 
- * This class implements the tabbed property section for the File Context model 
- * element
- * 
- * Contributors:
- *   Sebastien Dubois - Created for Mylyn Review R4E project
- *   
- ******************************************************************************/
+/*******************************************************************************
+ * Copyright (c) 2012 Ericsson AB and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Ericsson AB - initial API and implementation
+ *******************************************************************************/
 
 package org.eclipse.mylyn.reviews.r4e.ui.internal.properties.tabbed;
 
@@ -53,7 +46,9 @@
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
 
 /**
- * @author lmcdubo
+ * This class implements the tabbed property section for the File Context model element
+ * 
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class FileContextTabPropertySection extends ModelElementTabPropertySection {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ModelElementTabPropertySection.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ModelElementTabPropertySection.java
index b8def5b..2846c54 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ModelElementTabPropertySection.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ModelElementTabPropertySection.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -34,7 +34,7 @@
 import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ModelElementTabPropertySection extends AbstractPropertySection implements IPropertyListener {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ParticipantTabPropertySection.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ParticipantTabPropertySection.java
index 820de01..fff726a 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ParticipantTabPropertySection.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ParticipantTabPropertySection.java
@@ -1,21 +1,14 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, staticFieldSecurity, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
- * 
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Description:
- * 
- * This class implements the tabbed property section for the Participant model 
- * element
- * 
+ *
  * Contributors:
- *   Sebastien Dubois - Created for Mylyn Review R4E project
- *   
- ******************************************************************************/
+ *     Ericsson AB - initial API and implementation
+ *******************************************************************************/
 
 package org.eclipse.mylyn.reviews.r4e.ui.internal.properties.tabbed;
 
@@ -72,7 +65,9 @@
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
 
 /**
- * @author lmcdubo
+ * This class implements the tabbed property section for the Participant model element
+ * 
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ParticipantTabPropertySection extends ModelElementTabPropertySection implements IEditableListListener {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/PostponedAnomalyTabPropertySection.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/PostponedAnomalyTabPropertySection.java
index 0be10f2..7999c65 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/PostponedAnomalyTabPropertySection.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/PostponedAnomalyTabPropertySection.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, staticFieldSecurity, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, com.instantiations.assist.eclipse.analysis.instanceFieldSecurity
 /*******************************************************************************
- * Copyright (c) 2012 Ericsson Research Canada
+ * Copyright (c) 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -75,7 +75,7 @@
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class PostponedAnomalyTabPropertySection extends ModelElementTabPropertySection {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/PostponedFileTabPropertySection.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/PostponedFileTabPropertySection.java
index f1ba101..642403b 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/PostponedFileTabPropertySection.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/PostponedFileTabPropertySection.java
@@ -1,21 +1,14 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, staticFieldSecurity, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
- * 
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Description:
- * 
- * This class implements the tabbed property section for the Postponed File model 
- * element
- * 
+ *
  * Contributors:
- *   Sebastien Dubois - Created for Mylyn Review R4E project
- *   
- ******************************************************************************/
+ *     Ericsson AB - initial API and implementation
+ *******************************************************************************/
 
 package org.eclipse.mylyn.reviews.r4e.ui.internal.properties.tabbed;
 
@@ -46,7 +39,9 @@
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
 
 /**
- * @author lmcdubo
+ * This class implements the tabbed property section for the Postponed File model element
+ * 
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class PostponedFileTabPropertySection extends ModelElementTabPropertySection {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewGroupTabPropertySection.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewGroupTabPropertySection.java
index eace960..a6f84ae 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewGroupTabPropertySection.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewGroupTabPropertySection.java
@@ -1,21 +1,14 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, com.instantiations.assist.eclipse.analysis.instanceFieldSecurity, sourceLength, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
- * 
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Description:
- * 
- * This class implements the tabbed property section for the Review Group model 
- * element
- * 
+ *
  * Contributors:
- *   Sebastien Dubois - Created for Mylyn Review R4E project
- *   
- ******************************************************************************/
+ *     Ericsson AB - initial API and implementation
+ *******************************************************************************/
 
 package org.eclipse.mylyn.reviews.r4e.ui.internal.properties.tabbed;
 
@@ -54,7 +47,9 @@
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
 
 /**
- * @author lmcdubo
+ * This class implements the tabbed property section for the Review Group model element
+ * 
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewGroupTabPropertySection extends ModelElementTabPropertySection implements IEditableListListener {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewItemTabPropertySection.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewItemTabPropertySection.java
index 6efbb20..98e5173 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewItemTabPropertySection.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewItemTabPropertySection.java
@@ -1,21 +1,14 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, staticFieldSecurity, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
- * 
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Description:
- * 
- * This class implements the tabbed property section for the Review Item model 
- * element
- * 
+ *
  * Contributors:
- *   Sebastien Dubois - Created for Mylyn Review R4E project
- *   
- ******************************************************************************/
+ *     Ericsson AB - initial API and implementation
+ *******************************************************************************/
 
 package org.eclipse.mylyn.reviews.r4e.ui.internal.properties.tabbed;
 
@@ -51,7 +44,9 @@
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
 
 /**
- * @author lmcdubo
+ * This class implements the tabbed property section for the Review Item model element
+ * 
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewItemTabPropertySection extends ModelElementTabPropertySection {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewTabPropertySection.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewTabPropertySection.java
index 466eb28..ae55083 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewTabPropertySection.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewTabPropertySection.java
@@ -1,21 +1,14 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, staticFieldSecurity, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, com.instantiations.assist.eclipse.analysis.instanceFieldSecurity, sourceLength, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
- * 
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Description:
- * 
- * This class implements the tabbed property section for the Review Item model 
- * element
- * 
+ *
  * Contributors:
- *   Sebastien Dubois - Created for Mylyn Review R4E project
- *   
- ******************************************************************************/
+ *     Ericsson AB - initial API and implementation
+ *******************************************************************************/
 
 package org.eclipse.mylyn.reviews.r4e.ui.internal.properties.tabbed;
 
@@ -79,7 +72,9 @@
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
 
 /**
- * @author lmcdubo
+ * This class implements the tabbed property section for the Review Item model element
+ * 
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewTabPropertySection extends ModelElementTabPropertySection implements IEditableListListener {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/RuleAreaTabPropertySection.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/RuleAreaTabPropertySection.java
index bd3a3a5..f9fdc5a 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/RuleAreaTabPropertySection.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/RuleAreaTabPropertySection.java
@@ -1,21 +1,14 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, staticFieldSecurity, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
- * 
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Description:
- * 
- * This class implements the tabbed property section for the Rule Area model 
- * element
- * 
+ *
  * Contributors:
- *   Sebastien Dubois - Created for Mylyn Review R4E project
- *   
- ******************************************************************************/
+ *     Ericsson AB - initial API and implementation
+ *******************************************************************************/
 
 package org.eclipse.mylyn.reviews.r4e.ui.internal.properties.tabbed;
 
@@ -34,7 +27,9 @@
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
 
 /**
- * @author lmcdubo
+ * This class implements the tabbed property section for the Rule Area model element
+ * 
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class RuleAreaTabPropertySection extends ModelElementTabPropertySection {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/RuleSetTabPropertySection.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/RuleSetTabPropertySection.java
index feed729..31fc5cc 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/RuleSetTabPropertySection.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/RuleSetTabPropertySection.java
@@ -1,21 +1,14 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, staticFieldSecurity, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
- * 
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Description:
- * 
- * This class implements the tabbed property section for the Rule Set model 
- * element
- * 
+ *
  * Contributors:
- *   Sebastien Dubois - Created for Mylyn Review R4E project
- *   
- ******************************************************************************/
+ *     Ericsson AB - initial API and implementation
+ *******************************************************************************/
 
 package org.eclipse.mylyn.reviews.r4e.ui.internal.properties.tabbed;
 
@@ -35,7 +28,9 @@
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
 
 /**
- * @author lmcdubo
+ * This class implements the tabbed property section for the Rule Set model element
+ * 
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class RuleSetTabPropertySection extends ModelElementTabPropertySection {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/RuleTabPropertySection.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/RuleTabPropertySection.java
index d5d4b30..b1f586e 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/RuleTabPropertySection.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/RuleTabPropertySection.java
@@ -1,21 +1,14 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, staticFieldSecurity, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
- * 
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Description:
- * 
- * This class implements the tabbed property section for the Rule model 
- * element
- * 
+ *
  * Contributors:
- *   Sebastien Dubois - Created for Mylyn Review R4E project
- *   
- ******************************************************************************/
+ *     Ericsson AB - initial API and implementation
+ *******************************************************************************/
 
 package org.eclipse.mylyn.reviews.r4e.ui.internal.properties.tabbed;
 
@@ -42,7 +35,9 @@
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
 
 /**
- * @author lmcdubo
+ * This class implements the tabbed property section for the Rule model element
+ * 
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class RuleTabPropertySection extends ModelElementTabPropertySection {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/RuleViolationTabPropertySection.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/RuleViolationTabPropertySection.java
index 2b8fe13..627e472 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/RuleViolationTabPropertySection.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/RuleViolationTabPropertySection.java
@@ -1,21 +1,14 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, staticFieldSecurity, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
- * 
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Description:
- * 
- * This class implements the tabbed property section for the Rule Violation model 
- * element
- * 
+ *
  * Contributors:
- *   Sebastien Dubois - Created for Mylyn Review R4E project
- *   
- ******************************************************************************/
+ *     Ericsson AB - initial API and implementation
+ *******************************************************************************/
 
 package org.eclipse.mylyn.reviews.r4e.ui.internal.properties.tabbed;
 
@@ -34,7 +27,9 @@
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
 
 /**
- * @author lmcdubo
+ * This class implements the tabbed property section for the Rule Violation model element
+ * 
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class RuleViolationTabPropertySection extends ModelElementTabPropertySection {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/DateComparator.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/DateComparator.java
index a61e391..70dc942 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/DateComparator.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/DateComparator.java
@@ -1,21 +1,14 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
- * 
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Description:
- * 
- * This class extends the default viewer comparator to compare
- * two elements based on their creation date
- * 
+ *
  * Contributors:
- *   Sebastien Dubois - Created for Mylyn Review R4E project
- *   
- ******************************************************************************/
+ *     Ericsson AB - initial API and implementation
+ *******************************************************************************/
 
 package org.eclipse.mylyn.reviews.r4e.ui.internal.sorters;
 
@@ -26,7 +19,9 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIComment;
 
 /**
- * @author lmcdubo
+ * This class extends the default viewer comparator to compare two elements based on their creation date
+ * 
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class DateComparator extends ViewerComparator {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/FindUsersTableViewerSorter.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/FindUsersTableViewerSorter.java
index def0431..079a44d 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/FindUsersTableViewerSorter.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/FindUsersTableViewerSorter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008-2010 Ericsson Research Canada
+ * Copyright (c) 2008, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -33,7 +33,7 @@
 import org.eclipse.swt.widgets.TreeItem;
 
 /**
- * @author lmcbout
+ * @author Jacques Bouthillier
  * @version $Revision: 1.0 $
  */
 public class FindUsersTableViewerSorter extends ViewerSorter {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/LinePositionComparator.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/LinePositionComparator.java
index a7fb915..29fc913 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/LinePositionComparator.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/LinePositionComparator.java
@@ -1,22 +1,14 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
- * 
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Description:
- * 
- * This class extends the default viewer comparator to compare
- * the TextPosition elements and sort them incrementally by their occurence
- * in a Text file
- * 
+ *
  * Contributors:
- *   Sebastien Dubois - Created for Mylyn Review R4E project
- *   
- ******************************************************************************/
+ *     Ericsson AB - initial API and implementation
+ *******************************************************************************/
 
 package org.eclipse.mylyn.reviews.r4e.ui.internal.sorters;
 
@@ -28,7 +20,10 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUITextPosition;
 
 /**
- * @author lmcdubo
+ * This class extends the default viewer comparator to compare the TextPosition elements and sort them incrementally by
+ * their occurence in a Text file
+ * 
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class LinePositionComparator extends ViewerComparator {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/NavigatorElementComparator.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/NavigatorElementComparator.java
index ea4ae86..590c280 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/NavigatorElementComparator.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/NavigatorElementComparator.java
@@ -1,22 +1,14 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
-/*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
- * 
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Description:
- * 
- * This class extends the default viewer comparator to compare
- * two string and removing the first "> " sequence of charaters 
- * before the comparison
- * 
- * Contributors:
- *   Sebastien Dubois - Created for Mylyn Review R4E project
- *   
- ******************************************************************************/
+/*******************************************************************************
+ * Copyright (c) 2012 Ericsson AB and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Ericsson AB - initial API and implementation
+ *******************************************************************************/
 
 package org.eclipse.mylyn.reviews.r4e.ui.internal.sorters;
 
@@ -26,7 +18,10 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIComment;
 
 /**
- * @author lmcdubo
+ * This class extends the default viewer comparator to compare two string and removing the first "> " sequence of
+ * charaters before the comparison
+ * 
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class NavigatorElementComparator extends ViewerComparator {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/ReviewTypeComparator.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/ReviewTypeComparator.java
index 67a9967..d1f9f61 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/ReviewTypeComparator.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/ReviewTypeComparator.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -20,7 +20,7 @@
 import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIReviewBasic;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class ReviewTypeComparator extends NavigatorElementComparator {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/TreeTableComparator.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/TreeTableComparator.java
index 32945f7..0d73626 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/TreeTableComparator.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/sorters/TreeTableComparator.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2012 Ericsson Research Canada
+ * Copyright (c) 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -30,7 +30,7 @@
 import org.eclipse.swt.SWT;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class TreeTableComparator extends ViewerComparator {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/CommandUtils.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/CommandUtils.java
index e3a6af0..e7563dd 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/CommandUtils.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/CommandUtils.java
@@ -1,21 +1,14 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
- * 
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Description:
- * 
- * This class implements various utility methods used in the context-
- * sensitive commands
- * 
+ *
  * Contributors:
- *   Sebastien Dubois - Created for Mylyn Review R4E project
- *   
- ******************************************************************************/
+ *     Ericsson AB - initial API and implementation
+ *******************************************************************************/
 
 package org.eclipse.mylyn.reviews.r4e.ui.internal.utils;
 
@@ -90,7 +83,9 @@
 import org.eclipse.ui.IFileEditorInput;
 
 /**
- * @author lmcdubo
+ * This class implements various utility methods used in the context- sensitive commands
+ * 
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class CommandUtils {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/Diff.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/Diff.java
index 22d40df..2ce0db1 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/Diff.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/Diff.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -35,7 +35,7 @@
 import org.eclipse.swt.graphics.Point;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class Diff {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/DiffUtils.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/DiffUtils.java
index 34e052f..687d7f1 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/DiffUtils.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/DiffUtils.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -42,7 +42,7 @@
 import org.eclipse.ui.texteditor.IDocumentProvider;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class DiffUtils {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/DocLineComparator.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/DocLineComparator.java
index e3a78b2..e52a74e 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/DocLineComparator.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/DocLineComparator.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -30,7 +30,7 @@
  * <p>
  * A <code>DocLineComparator</code> doesn't know anything about line separators because its notion of lines is solely
  * defined in the underlying <code>IDocument</code>.
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class DocLineComparator implements ITokenComparator {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/EditableListWidget.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/EditableListWidget.java
index ee910ed..f049c5d 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/EditableListWidget.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/EditableListWidget.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011 Ericsson Research Canada
+ * Copyright (c) 2011, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -59,7 +59,7 @@
 import org.eclipse.ui.forms.widgets.FormToolkit;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class EditableListWidget {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/IEditableListListener.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/IEditableListListener.java
index 5e3496e..f351e5b 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/IEditableListListener.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/IEditableListListener.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -20,7 +20,7 @@
 import org.eclipse.swt.widgets.Item;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public interface IEditableListListener {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/MailServicesProxy.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/MailServicesProxy.java
index f80d587..b457ef6 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/MailServicesProxy.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/MailServicesProxy.java
@@ -1,20 +1,14 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
-/*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
- * 
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Description:
- * 
- * This class provides general utility methods used in the UI implementation
- * 
- * Contributors:
- *   Sebastien Dubois - Created for Mylyn Review R4E project
- *   
- ******************************************************************************/
+/*******************************************************************************
+ * Copyright (c) 2012 Ericsson AB and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Ericsson AB - initial API and implementation
+ *******************************************************************************/
 
 package org.eclipse.mylyn.reviews.r4e.ui.internal.utils;
 
@@ -80,7 +74,9 @@
 import org.eclipse.ui.part.FileEditorInput;
 
 /**
- * @author lmcdubo
+ * This class provides general utility methods used in the UI implementation
+ * 
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class MailServicesProxy {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/OverlayImageIcon.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/OverlayImageIcon.java
index 3d121ce..305428e 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/OverlayImageIcon.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/OverlayImageIcon.java
@@ -1,21 +1,14 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, packageJavadoc, explicitThisUsage
-/*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
- * 
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Description:
- * 
- * This class implements an image descriptor that is used to overlay multiple 
- * images into one. It is used to decorate icons
- * 
- * Contributors:
- *   Sebastien Dubois - Created for Mylyn Review R4E project
- *   
- ******************************************************************************/
+/*******************************************************************************
+ * Copyright (c) 2012 Ericsson AB and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Ericsson AB - initial API and implementation
+ *******************************************************************************/
 
 package org.eclipse.mylyn.reviews.r4e.ui.internal.utils;
 
@@ -24,7 +17,10 @@
 import org.eclipse.swt.graphics.Point;
 
 /**
- * @author lmcdubo
+ * This class implements an image descriptor that is used to overlay multiple images into one. It is used to decorate
+ * icons
+ * 
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class OverlayImageIcon extends CompositeImageDescriptor {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/R4EUIConstants.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/R4EUIConstants.java
index 041844a..28a229a 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/R4EUIConstants.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/R4EUIConstants.java
@@ -1,6 +1,6 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
+ * Copyright (c) 2010, 2012 Ericsson AB and others.
  * 
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -19,7 +19,8 @@
 package org.eclipse.mylyn.reviews.r4e.ui.internal.utils;
 
 /**
- * @author lmcdubo
+ * @author Sebastien Dubois
+ * @authot Jacques Bouthillier
  * @version $Revision: 1.0 $
  */
 public class R4EUIConstants { // $codepro.audit.disable convertClassToInterface
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/UIUtils.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/UIUtils.java
index 3f85c65..c755eb1 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/UIUtils.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/UIUtils.java
@@ -1,20 +1,14 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
- * 
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
+ * Copyright (c) 2012 Ericsson AB and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Description:
- * 
- * This class provides general utility methods used in the UI implementation
- * 
+ *
  * Contributors:
- *   Sebastien Dubois - Created for Mylyn Review R4E project
- *   
- ******************************************************************************/
+ *     Ericsson AB - initial API and implementation
+ *******************************************************************************/
 
 package org.eclipse.mylyn.reviews.r4e.ui.internal.utils;
 
@@ -94,7 +88,9 @@
 import org.eclipse.ui.texteditor.ITextEditor;
 
 /**
- * @author lmcdubo
+ * This class provides general utility methods used in the UI implementation
+ * 
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class UIUtils {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/WildcardFileFilter.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/WildcardFileFilter.java
index e7863f3..7b06beb 100644
--- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/WildcardFileFilter.java
+++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/WildcardFileFilter.java
@@ -1,20 +1,14 @@
 // $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage
-/*******************************************************************************
- * Copyright (c) 2010 Ericsson Research Canada
- * 
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Description:
- * 
- * This class implements a simple wildcard filter used in file search
- * 
- * Contributors:
- *   Sebastien Dubois - Created for Mylyn Review R4E project
- *   
- *******************************************************************************/
+/*******************************************************************************
+ * Copyright (c) 2012 Ericsson AB and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Ericsson AB - initial API and implementation
+ *******************************************************************************/
 
 package org.eclipse.mylyn.reviews.r4e.ui.internal.utils;
 
@@ -23,7 +17,9 @@
 import java.util.regex.Pattern;
 
 /**
- * @author lmcdubo
+ * This class implements a simple wildcard filter used in file search
+ * 
+ * @author Sebastien Dubois
  * @version $Revision: 1.0 $
  */
 public class WildcardFileFilter implements FileFilter {
