Index: /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/AllTests.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/AllTests.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/AllTests.java	(revision 1040)
@@ -1,2 +1,15 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
 
 package de.ugoe.cs.autoquest.usability;
@@ -12,4 +25,11 @@
 import de.ugoe.cs.autoquest.usability.evaluation.rule.set.RulesetFactoryTest;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 @RunWith(Suite.class)
 @SuiteClasses(
Index: /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/UsabilityEvaluationFacadeTest.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/UsabilityEvaluationFacadeTest.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/UsabilityEvaluationFacadeTest.java	(revision 1040)
@@ -1,2 +1,16 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability;
 
@@ -11,4 +25,11 @@
 import de.ugoe.cs.autoquest.usability.testutil.TaskTreeBuilder;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class UsabilityEvaluationFacadeTest {
 
@@ -17,30 +38,36 @@
         UsabilityEvaluationFacade.applyUsabilityRuleset(null);
     }
-    
+
     @Test
     public void apply_empty_ruleset_should_return_execute_usability_evaluation_step() {
-	ExecuteUsabilityEvaluationStep executeUsabilityEvaluationStep = 
-		UsabilityEvaluationFacade.applyUsabilityRuleset(emptyUsabilityRuleset());
-	assertThat(executeUsabilityEvaluationStep).isInstanceOf(ExecuteUsabilityEvaluationStep.class);
+        ExecuteUsabilityEvaluationStep executeUsabilityEvaluationStep =
+            UsabilityEvaluationFacade.applyUsabilityRuleset(emptyUsabilityRuleset());
+        assertThat(executeUsabilityEvaluationStep)
+            .isInstanceOf(ExecuteUsabilityEvaluationStep.class);
     }
-    
+
     @Test(expected = NullPointerException.class)
     public void evaluate_usability_of_null_should_throw_exception() {
-	UsabilityEvaluationFacade.applyUsabilityRuleset(emptyUsabilityRuleset()).evaluateUsabilityOf(null);
+        UsabilityEvaluationFacade.applyUsabilityRuleset(emptyUsabilityRuleset())
+            .evaluateUsabilityOf(null);
     }
-    
+
     @Test
-    public void evaluate_usability_of_task_tree_against_empty_ruleset_should_return_empty_evaluation_report() {
-	ITaskTree taskTree =  TaskTreeBuilder.builder().root("Ich bin eine Wurzel").creatTaskTree();
-	UsabilityEvaluationReport evaluationReport = 
-		UsabilityEvaluationFacade.applyUsabilityRuleset(emptyUsabilityRuleset()).evaluateUsabilityOf(taskTree);
-	assertThat(evaluationReport).isNotNull();
+    public void evaluate_usability_of_task_tree_against_empty_ruleset_should_return_empty_evaluation_report()
+    {
+        ITaskTree taskTree = TaskTreeBuilder.builder().root("Ich bin eine Wurzel").creatTaskTree();
+        UsabilityEvaluationReport evaluationReport =
+            UsabilityEvaluationFacade.applyUsabilityRuleset(emptyUsabilityRuleset())
+                .evaluateUsabilityOf(taskTree);
+        assertThat(evaluationReport).isNotNull();
     }
-    
+
     @Test
-    public void evaluate_usability_of_task_tree_against_dummy_ruleset_should_return_non_empty_evaluation_report() {
-        ITaskTree taskTree =  TaskTreeBuilder.builder().root("Ich bin eine Wurzel").creatTaskTree();
-        UsabilityEvaluationReport evaluationReport = 
-                UsabilityEvaluationFacade.applyUsabilityRuleset(new DummyUsabilityRuleset()).evaluateUsabilityOf(taskTree);
+    public void evaluate_usability_of_task_tree_against_dummy_ruleset_should_return_non_empty_evaluation_report()
+    {
+        ITaskTree taskTree = TaskTreeBuilder.builder().root("Ich bin eine Wurzel").creatTaskTree();
+        UsabilityEvaluationReport evaluationReport =
+            UsabilityEvaluationFacade.applyUsabilityRuleset(new DummyUsabilityRuleset())
+                .evaluateUsabilityOf(taskTree);
         assertThat(evaluationReport).isNotNull();
     }
Index: /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/UsabilityEvaluationReportTest.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/UsabilityEvaluationReportTest.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/UsabilityEvaluationReportTest.java	(revision 1040)
@@ -1,2 +1,15 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
 
 package de.ugoe.cs.autoquest.usability;
@@ -18,4 +31,11 @@
 import de.ugoe.cs.autoquest.usability.testutil.DummyUsabilityRuleset;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class UsabilityEvaluationReportTest {
 
@@ -28,6 +48,5 @@
     public void usability_report_from_empty_list_has_no_recommendations() {
         UsabilityEvaluationReport evaluationReport =
-            UsabilityEvaluationReport.from(Collections
-                .<UsabilityDefect> emptyList());
+            UsabilityEvaluationReport.from(Collections.<UsabilityDefect> emptyList());
         assertThat(evaluationReport).isNotNull().has(noUsabilityGuidlineRecommendations());
     }
@@ -36,9 +55,10 @@
     public void usability_report_from_non_empty_list_has_recommendations() {
         List<UsabilityDefect> guidlineRecommendations =
-            Lists.newArrayList(new UsabilityDefectFactory(new DummyUsabilityGuidlineDescriptionResolver())
+            Lists
+                .newArrayList(new UsabilityDefectFactory(
+                                                         new DummyUsabilityGuidlineDescriptionResolver())
                     .createUsabilityGuidlineRecommendation(UsabilityDefectSeverityLevel.INFO,
                                                            new DummyUsabilityRuleset()
-                                                               .evaluationRules()
-                                                               .iterator().next(),
+                                                               .evaluationRules().iterator().next(),
                                                            Collections.<String, String> emptyMap()));
         UsabilityEvaluationReport evaluationReport =
Index: /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/AbstractUsabilityEvaluationTC.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/AbstractUsabilityEvaluationTC.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/AbstractUsabilityEvaluationTC.java	(revision 1040)
@@ -88,11 +88,10 @@
      * @param evaluateUsability
      */
-    protected void assertUsabilityEvaluationResult(UsabilityDefect[]         expectedDefects,
+    protected void assertUsabilityEvaluationResult(UsabilityDefect[] expectedDefects,
                                                    UsabilityEvaluationResult evaluationResult)
     {
         assertEquals(expectedDefects.length, evaluationResult.getAllDefects().size());
 
-        EXPECTED_DEFECT_ITERATION:
-        for (UsabilityDefect expectedDefect : expectedDefects) {
+        EXPECTED_DEFECT_ITERATION: for (UsabilityDefect expectedDefect : expectedDefects) {
             for (UsabilityDefect defect : evaluationResult.getAllDefects()) {
                 if (expectedDefect.equals(defect)) {
@@ -167,6 +166,7 @@
 
         if ("Interaction".equals(type)) {
-            return taskTreeNodeFactory.createNewEventTask
-                (new DummyInteraction("dummy", typeNumbers[0]++), new DummyGUIElement("dummy"));
+            return taskTreeNodeFactory.createNewEventTask(new DummyInteraction("dummy",
+                                                                               typeNumbers[0]++),
+                                                          new DummyGUIElement("dummy"));
         }
         else if ("Sequence".equals(type)) {
@@ -185,7 +185,8 @@
 
             TextInput textInput = new TextInput(additionalInfo, new ArrayList<Event>());
-            
-            IEventTask task = taskTreeNodeFactory.createNewEventTask
-                (textInput, new DummyTextField(additionalInfo));
+
+            IEventTask task =
+                taskTreeNodeFactory.createNewEventTask(textInput,
+                                                       new DummyTextField(additionalInfo));
 
             return task;
@@ -220,5 +221,5 @@
         else {
             fail("can not add children to parent task tree node of type " +
-                 parent.getClass().getName());
+                parent.getClass().getName());
         }
     }
Index: /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/NoLetterOrDigitTextInputsEvaluatorTest.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/NoLetterOrDigitTextInputsEvaluatorTest.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/NoLetterOrDigitTextInputsEvaluatorTest.java	(revision 1040)
@@ -1,2 +1,15 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
 
 package de.ugoe.cs.autoquest.usability.evaluation.rule.evaluator;
@@ -26,4 +39,11 @@
 import de.ugoe.cs.autoquest.usability.tasktree.filter.FilterStatisticCache;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class NoLetterOrDigitTextInputsEvaluatorTest extends AbstractUsabilityEvaluationTC {
 
@@ -32,6 +52,5 @@
     @Before
     public void initRuleUnderTest() {
-        EnumSet<? extends UsabilityRule> ruleset =
-            textInputUsabiliyRuleset().evaluationRules();
+        EnumSet<? extends UsabilityRule> ruleset = textInputUsabiliyRuleset().evaluationRules();
         this.ruleUnderTest = Iterables.find(ruleset, new Predicate<UsabilityRule>() {
 
Index: /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/TextInputEntryRepetitionsEvaluatorTest.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/TextInputEntryRepetitionsEvaluatorTest.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/TextInputEntryRepetitionsEvaluatorTest.java	(revision 1040)
@@ -1,2 +1,15 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
 
 package de.ugoe.cs.autoquest.usability.evaluation.rule.evaluator;
@@ -26,4 +39,11 @@
 import de.ugoe.cs.autoquest.usability.tasktree.filter.FilterStatisticCache;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class TextInputEntryRepetitionsEvaluatorTest extends AbstractUsabilityEvaluationTC {
 
@@ -32,6 +52,5 @@
     @Before
     public void initRuleUnderTest() {
-        EnumSet<? extends UsabilityRule> ruleset =
-            textInputUsabiliyRuleset().evaluationRules();
+        EnumSet<? extends UsabilityRule> ruleset = textInputUsabiliyRuleset().evaluationRules();
         this.ruleUnderTest = Iterables.find(ruleset, new Predicate<UsabilityRule>() {
 
@@ -85,5 +104,6 @@
             new TextInputEntryRepetitionsEvaluator(this.ruleUnderTest, taskTree).evaluationResult();
         // Then
-        assertThat(recommendation).is(present()).has(lowRecommendationSeverityLevel());    }
+        assertThat(recommendation).is(present()).has(lowRecommendationSeverityLevel());
+    }
 
     @Test
Index: /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/TextInputRatioEvaluatorTest.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/TextInputRatioEvaluatorTest.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/TextInputRatioEvaluatorTest.java	(revision 1040)
@@ -1,2 +1,15 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
 
 package de.ugoe.cs.autoquest.usability.evaluation.rule.evaluator;
@@ -26,4 +39,11 @@
 import de.ugoe.cs.autoquest.usability.tasktree.filter.FilterStatisticCache;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class TextInputRatioEvaluatorTest extends AbstractUsabilityEvaluationTC {
 
@@ -32,6 +52,5 @@
     @Before
     public void initRuleUnderTest() {
-        EnumSet<? extends UsabilityRule> ruleset =
-            textInputUsabiliyRuleset().evaluationRules();
+        EnumSet<? extends UsabilityRule> ruleset = textInputUsabiliyRuleset().evaluationRules();
         this.ruleUnderTest = Iterables.find(ruleset, new Predicate<UsabilityRule>() {
 
Index: /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/EmptyUsabilityRulesetTest.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/EmptyUsabilityRulesetTest.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/EmptyUsabilityRulesetTest.java	(revision 1040)
@@ -1,2 +1,16 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.evaluation.rule.set;
 
@@ -6,4 +20,11 @@
 import org.junit.Test;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class EmptyUsabilityRulesetTest {
 
Index: /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/RulesetFactoryTest.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/RulesetFactoryTest.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/RulesetFactoryTest.java	(revision 1040)
@@ -1,2 +1,16 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.evaluation.rule.set;
 
@@ -10,22 +24,30 @@
 import org.junit.Test;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class RulesetFactoryTest {
-    
+
     @Test
     public void empty_ruleset_factory_method_should_return_empty_ruleset() {
-	UsabilityRuleset ruleset = emptyUsabilityRuleset();
-	assertThat(ruleset).isInstanceOf(EmptyUsabilityRuleset.class).has(noUsabilityRules());
+        UsabilityRuleset ruleset = emptyUsabilityRuleset();
+        assertThat(ruleset).isInstanceOf(EmptyUsabilityRuleset.class).has(noUsabilityRules());
     }
-    
+
     @Test
     public void text_input_ruleset_factory_method_should_return_text_input_ruleset() {
-	UsabilityRuleset ruleset = textInputUsabiliyRuleset();
-	assertThat(ruleset).isInstanceOf(TextInputUsabiliyRuleset.class).has(usabilityRules());
+        UsabilityRuleset ruleset = textInputUsabiliyRuleset();
+        assertThat(ruleset).isInstanceOf(TextInputUsabiliyRuleset.class).has(usabilityRules());
     }
-    
+
     @Test
     public void mouse_interaction_ruleset_factory_method_should_return_mouse_interaction_ruleset() {
         UsabilityRuleset ruleset = mouseInteractionUsabiliyRuleset();
-        assertThat(ruleset).isInstanceOf(MouseInteractionUsabilityRuleset.class).has(usabilityRules());
+        assertThat(ruleset).isInstanceOf(MouseInteractionUsabilityRuleset.class)
+            .has(usabilityRules());
     }
 
Index: /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/sandboxapp/CreateClickstreamImageFromTaskTreeDemoApp.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/sandboxapp/CreateClickstreamImageFromTaskTreeDemoApp.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/sandboxapp/CreateClickstreamImageFromTaskTreeDemoApp.java	(revision 1040)
@@ -1,2 +1,16 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.sandboxapp;
 
@@ -21,27 +35,35 @@
 import de.ugoe.cs.autoquest.usability.testutil.GenerateTaskTreeUtil;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class CreateClickstreamImageFromTaskTreeDemoApp {
 
     private static final String fileToParse = "javatrace.xml";
-    
+
     private static final String clickstreamFilename = "clickstream.png";
-    
+
     /**
      * <p>
      * TODO: comment
      * </p>
-     *
+     * 
      * @param args
-     * @throws IOException 
+     * @throws IOException
      */
     public static void main(String[] args) throws IOException {
         ITaskTree taskTree = GenerateTaskTreeUtil.getTaskTreeFromFile(fileToParse);
         FilterStatistic mouseInteractions = filterMouseInteractions(taskTree);
-        
+
         BufferedImage clickstreamImage = new BufferedImage(1024, 768, BufferedImage.TYPE_INT_ARGB);
         Graphics2D drawArea = clickstreamImage.createGraphics();
         drawArea.setColor(Color.BLACK);
-        drawArea.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
-        
+        drawArea.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
+                                  RenderingHints.VALUE_ANTIALIAS_ON);
+
         drawClickstream(mouseInteractions, drawArea);
 
@@ -52,16 +74,18 @@
         int xb = -1;
         int yb = -1;
-        
-        for(ITaskTreeNode node : mouseInteractions.nodesMatchedFilter()) {
-            MouseButtonInteraction interaction = (MouseButtonInteraction) ((IEventTask) node).getEventType();
+
+        for (ITaskTreeNode node : mouseInteractions.nodesMatchedFilter()) {
+            MouseButtonInteraction interaction =
+                (MouseButtonInteraction) ((IEventTask) node).getEventType();
             int x = interaction.getX();
             int y = interaction.getY();
-            g2.fillOval(x,y,1,1);
-            if(xb != -1 && y != -1) g2.drawLine(x, y, xb, yb);
+            g2.fillOval(x, y, 1, 1);
+            if (xb != -1 && y != -1)
+                g2.drawLine(x, y, xb, yb);
             xb = x;
             yb = y;
         }
     }
-    
+
     private static FilterStatistic filterMouseInteractions(ITaskTree taskTree) {
         return new TaskTreeFilter(new IterativeDFSFilterStrategy())
Index: /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/sandboxapp/CreateHeatmapImageFromTaskTreeDemoApp.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/sandboxapp/CreateHeatmapImageFromTaskTreeDemoApp.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/sandboxapp/CreateHeatmapImageFromTaskTreeDemoApp.java	(revision 1040)
@@ -1,2 +1,15 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
 
 package de.ugoe.cs.autoquest.usability.sandboxapp;
@@ -18,8 +31,15 @@
 import de.ugoe.cs.autoquest.usability.testutil.GenerateTaskTreeUtil;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class CreateHeatmapImageFromTaskTreeDemoApp {
 
     private static final String fileToParse = "javatrace.xml";
-    
+
     private static final String heatmapFilename = "click-heatmap.png";
 
Index: /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/sandboxapp/TaskTreeVisualizerDemoApp.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/sandboxapp/TaskTreeVisualizerDemoApp.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/sandboxapp/TaskTreeVisualizerDemoApp.java	(revision 1040)
@@ -145,9 +145,10 @@
     RadialTreeLayout<String, Integer> radialLayout;
 
-    @SuppressWarnings({ "unchecked", "rawtypes" })
+    @SuppressWarnings(
+        { "unchecked", "rawtypes" })
     public TaskTreeVisualizerDemoApp(String filetoparse) {
-        
-        ITaskTree taskTree = GenerateTaskTreeUtil.getTaskTreeFromFile(filetoparse); 
-        
+
+        ITaskTree taskTree = GenerateTaskTreeUtil.getTaskTreeFromFile(filetoparse);
+
         // create a simple graph for the demo
         graph = new DelegateForest<String, Integer>();
@@ -274,5 +275,5 @@
         content.add(controls, BorderLayout.SOUTH);
     }
-    
+
     class Rings implements VisualizationServer.Paintable {
 
Index: /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/testutil/DummyUsabilityGuidlineDescriptionResolver.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/testutil/DummyUsabilityGuidlineDescriptionResolver.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/testutil/DummyUsabilityGuidlineDescriptionResolver.java	(revision 1040)
@@ -1,2 +1,16 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.testutil;
 
@@ -5,5 +19,14 @@
 import de.ugoe.cs.autoquest.usability.evaluation.rule.set.UsabilityRule;
 
-public class DummyUsabilityGuidlineDescriptionResolver implements UsabilityDefectDescriptionResolver {
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
+public class DummyUsabilityGuidlineDescriptionResolver implements
+    UsabilityDefectDescriptionResolver
+{
 
     public DefectDescription descriptionFor(UsabilityRule usabilityRule) {
Index: /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/testutil/DummyUsabilityRuleset.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/testutil/DummyUsabilityRuleset.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/testutil/DummyUsabilityRuleset.java	(revision 1040)
@@ -1,2 +1,16 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.testutil;
 
@@ -13,14 +27,24 @@
 import de.ugoe.cs.autoquest.usability.evaluation.rule.set.UsabilityRuleset;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class DummyUsabilityRuleset implements UsabilityRuleset {
 
     private enum DummyUsabilityRule implements UsabilityRule {
-        
+
         DUMMY_RULE_WITH_RECOMMENDATION {
-            
+
             @Override
             public Optional<UsabilityDefect> evaluate(ITaskTree taskTree) {
-                return Optional.of(new UsabilityDefectFactory(new DummyUsabilityGuidlineDescriptionResolver()).
-                                   createUsabilityGuidlineRecommendation(UsabilityDefectSeverityLevel.INFO, this, Collections.<String, String> emptyMap()));
+                return Optional
+                    .of(new UsabilityDefectFactory(new DummyUsabilityGuidlineDescriptionResolver())
+                        .createUsabilityGuidlineRecommendation(UsabilityDefectSeverityLevel.INFO,
+                                                               this, Collections
+                                                                   .<String, String> emptyMap()));
             }
 
@@ -28,9 +52,9 @@
                 return this.name();
             }
-            
+
         },
-        
+
         DUMMY_RULE_WITHOUT_RECOMMENDATION {
-            
+
             @Override
             public Optional<UsabilityDefect> evaluate(ITaskTree taskTree) {
@@ -46,7 +70,7 @@
 
     }
-    
-    private final EnumSet<DummyUsabilityRule> DUMMY_USABILITY_RULESET = 
-            EnumSet.allOf(DummyUsabilityRule.class);
+
+    private final EnumSet<DummyUsabilityRule> DUMMY_USABILITY_RULESET = EnumSet
+        .allOf(DummyUsabilityRule.class);
 
     public EnumSet<? extends UsabilityRule> evaluationRules() {
Index: /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/testutil/FestConditionUtil.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/testutil/FestConditionUtil.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/testutil/FestConditionUtil.java	(revision 1040)
@@ -1,2 +1,16 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.testutil;
 
@@ -10,4 +24,11 @@
 import de.ugoe.cs.autoquest.usability.evaluation.rule.set.UsabilityRuleset;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class FestConditionUtil {
 
@@ -15,8 +36,8 @@
         // no good idea
     }
-    
+
     public static Condition<UsabilityEvaluationReport> noUsabilityGuidlineRecommendations() {
         return new Condition<UsabilityEvaluationReport>() {
-    
+
             @Override
             public boolean matches(UsabilityEvaluationReport usabilityEvaluationReport) {
@@ -25,8 +46,8 @@
         };
     }
-    
+
     public static Condition<UsabilityEvaluationReport> usabilityGuidlineRecommendations() {
         return new Condition<UsabilityEvaluationReport>() {
-    
+
             @Override
             public boolean matches(UsabilityEvaluationReport usabilityEvaluationReport) {
@@ -35,5 +56,5 @@
         };
     }
-    
+
     public static Condition<UsabilityRuleset> noUsabilityRules() {
         return new Condition<UsabilityRuleset>() {
@@ -43,9 +64,8 @@
                 return usabilityRuleset.evaluationRules().isEmpty();
             }
-    
 
         };
     }
-    
+
     public static Condition<UsabilityRuleset> usabilityRules() {
         return new Condition<UsabilityRuleset>() {
@@ -55,9 +75,8 @@
                 return !usabilityRuleset.evaluationRules().isEmpty();
             }
-    
 
         };
     }
-    
+
     public static Condition<Optional<UsabilityDefect>> present() {
         return new Condition<Optional<UsabilityDefect>>() {
@@ -67,8 +86,8 @@
                 return usabilityGuidlineRecommendation.isPresent();
             }
-    
+
         };
     }
-    
+
     public static Condition<Optional<UsabilityDefect>> absent() {
         return new Condition<Optional<UsabilityDefect>>() {
@@ -78,8 +97,8 @@
                 return !usabilityGuidlineRecommendation.isPresent();
             }
-    
+
         };
     }
-    
+
     public static Condition<Optional<UsabilityDefect>> infoRecommendationSeverityLevel() {
         return new Condition<Optional<UsabilityDefect>>() {
@@ -87,10 +106,11 @@
             @Override
             public boolean matches(Optional<UsabilityDefect> usabilityGuidlineRecommendation) {
-                return usabilityGuidlineRecommendation.get().getSeverityLevel().equals(UsabilityDefectSeverityLevel.INFO);
+                return usabilityGuidlineRecommendation.get().getSeverityLevel()
+                    .equals(UsabilityDefectSeverityLevel.INFO);
             }
 
         };
     }
-    
+
     public static Condition<Optional<UsabilityDefect>> lowRecommendationSeverityLevel() {
         return new Condition<Optional<UsabilityDefect>>() {
@@ -98,10 +118,11 @@
             @Override
             public boolean matches(Optional<UsabilityDefect> usabilityGuidlineRecommendation) {
-                return usabilityGuidlineRecommendation.get().getSeverityLevel().equals(UsabilityDefectSeverityLevel.LOW);
+                return usabilityGuidlineRecommendation.get().getSeverityLevel()
+                    .equals(UsabilityDefectSeverityLevel.LOW);
             }
 
         };
     }
-    
+
     public static Condition<Optional<UsabilityDefect>> mediumRecommendationSeverityLevel() {
         return new Condition<Optional<UsabilityDefect>>() {
@@ -109,10 +130,11 @@
             @Override
             public boolean matches(Optional<UsabilityDefect> usabilityGuidlineRecommendation) {
-                return usabilityGuidlineRecommendation.get().getSeverityLevel().equals(UsabilityDefectSeverityLevel.MEDIUM);
+                return usabilityGuidlineRecommendation.get().getSeverityLevel()
+                    .equals(UsabilityDefectSeverityLevel.MEDIUM);
             }
 
         };
     }
-    
+
     public static Condition<Optional<UsabilityDefect>> highRecommendationSeverityLevel() {
         return new Condition<Optional<UsabilityDefect>>() {
@@ -120,9 +142,10 @@
             @Override
             public boolean matches(Optional<UsabilityDefect> usabilityGuidlineRecommendation) {
-                return usabilityGuidlineRecommendation.get().getSeverityLevel().equals(UsabilityDefectSeverityLevel.HIGH);
+                return usabilityGuidlineRecommendation.get().getSeverityLevel()
+                    .equals(UsabilityDefectSeverityLevel.HIGH);
             }
 
         };
     }
-    
+
 }
Index: /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/testutil/GenerateTaskTreeUtil.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/testutil/GenerateTaskTreeUtil.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/testutil/GenerateTaskTreeUtil.java	(revision 1040)
@@ -1,2 +1,15 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
 
 package de.ugoe.cs.autoquest.usability.testutil;
@@ -17,6 +30,13 @@
 import de.ugoe.cs.util.console.TextConsole;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class GenerateTaskTreeUtil {
-    
+
     private static final String seqName = "sequences";
 
Index: /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/testutil/TaskTreeBuilder.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/testutil/TaskTreeBuilder.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation-test/src/main/java/de/ugoe/cs/autoquest/usability/testutil/TaskTreeBuilder.java	(revision 1040)
@@ -1,2 +1,16 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.testutil;
 
@@ -6,22 +20,29 @@
 import de.ugoe.cs.autoquest.tasktrees.treeimpl.TaskTreeNodeFactory;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class TaskTreeBuilder {
-    
+
     public static CreateRootNodeStep builder() {
         return new CreateRootNodeStep();
     }
-    
+
     public static class CreateRootNodeStep {
-        
+
         public AddChildrenStep root(String name) {
             return new AddChildrenStep(new TaskTreeNode(name));
         }
-        
+
     }
-    
+
     public static class AddChildrenStep {
-        
+
         private TaskTreeNode rootNode;
-        
+
         public AddChildrenStep(TaskTreeNode taskTreeRootNode) {
             this.rootNode = taskTreeRootNode;
@@ -32,56 +53,57 @@
             return this;
         }
-        
+
         public ITaskTree creatTaskTree() {
             return new TaskTreeNodeFactory().createTaskTree(rootNode);
         }
-        
+
     }
-    
-//        private Employee employee;
-//
-//        public EmployeeBuilder() {
-//            employee = new Employee();
-//        }
-//
-//        public static EmployeeBuilder defaultValues() {
-//            return new EmployeeBuilder();
-//        }
-//
-//        public static EmployeeBuilder clone(Employee toClone) {
-//            EmployeeBuilder builder = defaultValues();
-//            builder.setId(toClone.getId());
-//            builder.setName(toClone.getName());
-//            builder.setDepartment(toClone.getDepartment());
-//            return builder;
-//        }
-//
-//        public static EmployeeBuilder random() {
-//            EmployeeBuilder builder = defaultValues();
-//            builder.setId(getRandomInteger(0, 1000));
-//            builder.setName(getRandomString(20));
-//            builder.setDepartment(Department.values()[getRandomInteger(0, Department.values().length - 1)]);
-//            return builder;
-//        }
-//
-//        public EmployeeBuilder setId(int id) {
-//            employee.setId(id);
-//            return this;
-//        }
-//
-//        public EmployeeBuilder setName(String name) {
-//            employee.setName(name);
-//            return this;
-//        }
-//
-//        public EmployeeBuilder setDepartment(Department dept) {
-//            employee.setDepartment(dept);
-//            return this;
-//        }
-//
-//        public Employee build() {
-//            return employee;
-//        }
-//    }
+
+    // private Employee employee;
+    //
+    // public EmployeeBuilder() {
+    // employee = new Employee();
+    // }
+    //
+    // public static EmployeeBuilder defaultValues() {
+    // return new EmployeeBuilder();
+    // }
+    //
+    // public static EmployeeBuilder clone(Employee toClone) {
+    // EmployeeBuilder builder = defaultValues();
+    // builder.setId(toClone.getId());
+    // builder.setName(toClone.getName());
+    // builder.setDepartment(toClone.getDepartment());
+    // return builder;
+    // }
+    //
+    // public static EmployeeBuilder random() {
+    // EmployeeBuilder builder = defaultValues();
+    // builder.setId(getRandomInteger(0, 1000));
+    // builder.setName(getRandomString(20));
+    // builder.setDepartment(Department.values()[getRandomInteger(0, Department.values().length -
+    // 1)]);
+    // return builder;
+    // }
+    //
+    // public EmployeeBuilder setId(int id) {
+    // employee.setId(id);
+    // return this;
+    // }
+    //
+    // public EmployeeBuilder setName(String name) {
+    // employee.setName(name);
+    // return this;
+    // }
+    //
+    // public EmployeeBuilder setDepartment(Department dept) {
+    // employee.setDepartment(dept);
+    // return this;
+    // }
+    //
+    // public Employee build() {
+    // return employee;
+    // }
+    // }
 
 }
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/UsabilityEvaluationFacade.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/UsabilityEvaluationFacade.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/UsabilityEvaluationFacade.java	(revision 1040)
@@ -1,10 +1,20 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability;
 
 import java.util.EnumSet;
 import java.util.List;
-
-import lombok.AccessLevel;
-import lombok.AllArgsConstructor;
-import lombok.NoArgsConstructor;
 
 import com.google.common.base.Optional;
@@ -17,31 +27,46 @@
 import de.ugoe.cs.autoquest.usability.evaluation.rule.set.UsabilityRuleset;
 
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class UsabilityEvaluationFacade {
 
-    public static ExecuteUsabilityEvaluationStep applyUsabilityRuleset(UsabilityRuleset usabilityRuleset) {
-	Preconditions.checkNotNull(usabilityRuleset);
+    private UsabilityEvaluationFacade() {
+        // no instantiation allowed
+    }
+
+    public static ExecuteUsabilityEvaluationStep applyUsabilityRuleset(UsabilityRuleset usabilityRuleset)
+    {
+        Preconditions.checkNotNull(usabilityRuleset);
         return new ExecuteUsabilityEvaluationStep(usabilityRuleset);
     }
 
-    @AllArgsConstructor
     protected static class ExecuteUsabilityEvaluationStep {
-	
-	private final UsabilityRuleset usabilityRuleset;
 
-	public UsabilityEvaluationReport evaluateUsabilityOf(ITaskTree taskTree) {
-	    Preconditions.checkNotNull(taskTree);
-	    EnumSet<? extends UsabilityRule> evaluationRules = usabilityRuleset.evaluationRules();
-	    List<UsabilityDefect> evaluationResults = 
-		    Lists.newArrayListWithCapacity(evaluationRules.size());
-	    for(UsabilityRule usabilityRule : evaluationRules) {
-		Optional<UsabilityDefect> ruleEvaluationResult = usabilityRule.evaluate(taskTree);
-		if(ruleEvaluationResult.isPresent()) {
-		    evaluationResults.add(ruleEvaluationResult.get());
-		}
-	    }
-	    return UsabilityEvaluationReport.from(evaluationResults);
-	}
-	
+        protected ExecuteUsabilityEvaluationStep(UsabilityRuleset usabilityRuleset) {
+            super();
+            this.usabilityRuleset = usabilityRuleset;
+        }
+
+        private final UsabilityRuleset usabilityRuleset;
+
+        public UsabilityEvaluationReport evaluateUsabilityOf(ITaskTree taskTree) {
+            Preconditions.checkNotNull(taskTree);
+            EnumSet<? extends UsabilityRule> evaluationRules = usabilityRuleset.evaluationRules();
+            List<UsabilityDefect> evaluationResults =
+                Lists.newArrayListWithCapacity(evaluationRules.size());
+            for (UsabilityRule usabilityRule : evaluationRules) {
+                Optional<UsabilityDefect> ruleEvaluationResult = usabilityRule.evaluate(taskTree);
+                if (ruleEvaluationResult.isPresent()) {
+                    evaluationResults.add(ruleEvaluationResult.get());
+                }
+            }
+            return UsabilityEvaluationReport.from(evaluationResults);
+        }
+
     }
 
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/UsabilityEvaluationReport.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/UsabilityEvaluationReport.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/UsabilityEvaluationReport.java	(revision 1040)
@@ -1,8 +1,19 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability;
 
 import java.util.List;
-
-import lombok.AccessLevel;
-import lombok.AllArgsConstructor;
 
 import com.google.common.base.Preconditions;
@@ -10,17 +21,27 @@
 import de.ugoe.cs.autoquest.usability.evaluation.result.UsabilityDefect;
 
-@AllArgsConstructor(access = AccessLevel.PRIVATE)
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class UsabilityEvaluationReport {
-    
+
     private List<UsabilityDefect> evaluationResults;
-    
+
+    private UsabilityEvaluationReport(List<UsabilityDefect> evaluationResults) {
+        this.evaluationResults = evaluationResults;
+    }
+
     public static UsabilityEvaluationReport from(List<UsabilityDefect> evaluationResults) {
-	Preconditions.checkNotNull(evaluationResults);
-	return new UsabilityEvaluationReport(evaluationResults);
+        Preconditions.checkNotNull(evaluationResults);
+        return new UsabilityEvaluationReport(evaluationResults);
     }
-    
+
     public List<UsabilityDefect> evaluationResults() {
         return this.evaluationResults;
     }
-    
+
 }
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/result/UsabilityDefect.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/result/UsabilityDefect.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/result/UsabilityDefect.java	(revision 1040)
@@ -1,2 +1,15 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
 
 package de.ugoe.cs.autoquest.usability.evaluation.result;
@@ -7,23 +20,24 @@
 import java.util.Map;
 
-import lombok.AllArgsConstructor;
-import lombok.ExtensionMethod;
-import lombok.Getter;
-
 import org.apache.commons.lang.StringUtils;
 
 import com.google.common.base.CharMatcher;
 import com.google.common.base.Joiner;
+import com.google.common.base.Predicate;
+import com.google.common.collect.Iterables;
 import com.google.common.collect.Lists;
 
 import de.ugoe.cs.autoquest.usability.DefectDescription;
 import de.ugoe.cs.autoquest.usability.ParameterFragment;
-import de.ugoe.cs.autoquest.usability.util.DefectDescriptionExtensionMethods;
 
-@AllArgsConstructor
-@ExtensionMethod({DefectDescriptionExtensionMethods.class})
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class UsabilityDefect {
 
-    @Getter
     private UsabilityDefectSeverityLevel severityLevel;
 
@@ -32,21 +46,48 @@
     private Map<String, String> descriptionParametersValues;
 
+    public UsabilityDefect(UsabilityDefectSeverityLevel severityLevel,
+                           DefectDescription defectDescription,
+                           Map<String, String> descriptionParametersValues)
+    {
+        super();
+        this.severityLevel = severityLevel;
+        this.defectDescription = defectDescription;
+        this.descriptionParametersValues = descriptionParametersValues;
+    }
+
     public String defectDescription() {
-        if(defectDescription.containsParameterFragments()) {
+        if (containsParameterFragments(defectDescription)) {
             return assembleDefectDescription();
-        } else {
-            return Joiner.on(" ").skipNulls().join(defectDescription.getTextFragmentOrParameterFragment());
+        }
+        else {
+            return Joiner.on(" ").skipNulls()
+                .join(defectDescription.getTextFragmentOrParameterFragment());
         }
     }
 
+    private boolean containsParameterFragments(DefectDescription defectDescription) {
+        return Iterables.any(defectDescription.getTextFragmentOrParameterFragment(),
+                             new Predicate<Object>() {
+
+                                 @Override
+                                 public boolean apply(Object fragment) {
+                                     return fragment instanceof ParameterFragment;
+                                 }
+
+                             });
+    }
+
     private String assembleDefectDescription() {
-        List<String> descriptionParts = 
-                Lists.newArrayListWithCapacity(defectDescription.getTextFragmentOrParameterFragment().size());
+        List<String> descriptionParts =
+            Lists.newArrayListWithCapacity(defectDescription.getTextFragmentOrParameterFragment()
+                .size());
 
         for (Object fragment : defectDescription.getTextFragmentOrParameterFragment()) {
-            if (fragment.isParameterFragment()) {
+            if (isParameterFragment(fragment)) {
                 descriptionParts.add(parameterFragmentAsString((ParameterFragment) fragment));
-            } else {
-                 descriptionParts.add(CharMatcher.WHITESPACE.collapseFrom((String) fragment, ' ').trim());
+            }
+            else {
+                descriptionParts.add(CharMatcher.WHITESPACE.collapseFrom((String) fragment, ' ')
+                    .trim());
             }
         }
@@ -55,12 +96,29 @@
     }
 
+    private boolean isParameterFragment(Object object) {
+        return object instanceof ParameterFragment;
+    }
+
     private String parameterFragmentAsString(ParameterFragment fragment) {
-        String value = descriptionParametersValues.getValueOrEmptyString(fragment.getParameterName());
+        String value =
+            getValueOrEmptyString(descriptionParametersValues, fragment.getParameterName());
         if (StringUtils.isNotEmpty(value)) {
             return value;
-        } else {
-            throw new IllegalArgumentException(format("required parameter \"%s\" for usability defect description not provided", fragment.getParameterName()));
+        }
+        else {
+            throw new IllegalArgumentException(
+                                               format("required parameter \"%s\" for usability defect description not provided",
+                                                      fragment.getParameterName()));
         }
     }
 
+    private String getValueOrEmptyString(Map<String, String> stringKeyValueMap, String key) {
+        return stringKeyValueMap != null && stringKeyValueMap.containsKey(key) ? stringKeyValueMap
+            .get(key) : StringUtils.EMPTY;
+    }
+
+    public UsabilityDefectSeverityLevel getSeverityLevel() {
+        return severityLevel;
+    }
+
 }
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/result/UsabilityDefectDescriptionResolver.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/result/UsabilityDefectDescriptionResolver.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/result/UsabilityDefectDescriptionResolver.java	(revision 1040)
@@ -1,2 +1,16 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.evaluation.result;
 
@@ -4,4 +18,11 @@
 import de.ugoe.cs.autoquest.usability.evaluation.rule.set.UsabilityRule;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public interface UsabilityDefectDescriptionResolver {
 
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/result/UsabilityDefectFactory.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/result/UsabilityDefectFactory.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/result/UsabilityDefectFactory.java	(revision 1040)
@@ -1,2 +1,15 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
 
 package de.ugoe.cs.autoquest.usability.evaluation.result;
@@ -6,8 +19,19 @@
 import de.ugoe.cs.autoquest.usability.DefectDescription;
 import de.ugoe.cs.autoquest.usability.evaluation.rule.set.UsabilityRule;
-import lombok.AllArgsConstructor;
 
-@AllArgsConstructor
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class UsabilityDefectFactory {
+
+    public UsabilityDefectFactory(UsabilityDefectDescriptionResolver usabilityDefectDescriptionResolver)
+    {
+        super();
+        this.usabilityDefectDescriptionResolver = usabilityDefectDescriptionResolver;
+    }
 
     private final UsabilityDefectDescriptionResolver usabilityDefectDescriptionResolver;
@@ -15,5 +39,6 @@
     public UsabilityDefect createUsabilityGuidlineRecommendation(UsabilityDefectSeverityLevel recommendationSeverityLevel,
                                                                  UsabilityRule usabilityRule,
-                                                                 Map<String, String> recommendationMessageParameteValues) {
+                                                                 Map<String, String> recommendationMessageParameteValues)
+    {
         DefectDescription guidlineDescription =
             usabilityDefectDescriptionResolver.descriptionFor(usabilityRule);
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/result/UsabilityDefectSeverityLevel.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/result/UsabilityDefectSeverityLevel.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/result/UsabilityDefectSeverityLevel.java	(revision 1040)
@@ -1,7 +1,28 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.evaluation.result;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public enum UsabilityDefectSeverityLevel {
 
     INFO, LOW, MEDIUM, HIGH;
-    
+
 }
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/result/UsabilityDefectXmlDescriptionResolver.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/result/UsabilityDefectXmlDescriptionResolver.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/result/UsabilityDefectXmlDescriptionResolver.java	(revision 1040)
@@ -1,2 +1,16 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.evaluation.result;
 
@@ -16,20 +30,27 @@
 import de.ugoe.cs.autoquest.usability.evaluation.rule.set.UsabilityRule;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class UsabilityDefectXmlDescriptionResolver implements UsabilityDefectDescriptionResolver {
-    
+
     private static final String DEFAULT_MESSAGES_FILE = "defectDescriptions_en.xml";
-    
-    private static final UsabilityDefectXmlDescriptionResolver instance = new UsabilityDefectXmlDescriptionResolver();
-    
+
+    private static final UsabilityDefectXmlDescriptionResolver instance =
+        new UsabilityDefectXmlDescriptionResolver();
+
     private DefectDescriptions defectDescriptions;
-    
+
     private UsabilityDefectXmlDescriptionResolver() {
         loadDescriptions();
     }
-    
+
     @SuppressWarnings("unchecked")
     private void loadDescriptions() {
-        InputStream inputStream =
-                ClassLoader.getSystemResourceAsStream(DEFAULT_MESSAGES_FILE);
+        InputStream inputStream = ClassLoader.getSystemResourceAsStream(DEFAULT_MESSAGES_FILE);
         try {
             String packageName = DefectDescriptions.class.getPackage().getName();
@@ -38,10 +59,8 @@
 
             defectDescriptions =
-                ((JAXBElement<DefectDescriptions>) unmarshaller.unmarshal(inputStream))
-                    .getValue();
+                ((JAXBElement<DefectDescriptions>) unmarshaller.unmarshal(inputStream)).getValue();
         }
         catch (Exception e) {
-            throw new RuntimeException
-                ("error while initializing usability defect descriptions", e);
+            throw new RuntimeException("error while initializing usability defect descriptions", e);
         }
         finally {
@@ -56,5 +75,5 @@
         }
     }
-    
+
     public static UsabilityDefectXmlDescriptionResolver instance() {
         return instance;
@@ -63,15 +82,19 @@
     @Override
     public DefectDescription descriptionFor(final UsabilityRule usabilityRule) {
-        Optional<DefectDescription> guidlineDescription = Iterables.tryFind(defectDescriptions.getDefectDescription(), new Predicate<DefectDescription>() {
-            
-            public boolean apply(DefectDescription defectDescription) {
-                return usabilityRule.ruleIdentifier().equals(defectDescription.getDefectId());
-            }
-            
-        });
-        if(!guidlineDescription.isPresent())
-            throw new RuntimeException
-            ("error while initializing usability defect descriptions. No " +
-                    "description text available for description " + usabilityRule.ruleIdentifier());
+        Optional<DefectDescription> guidlineDescription =
+            Iterables.tryFind(defectDescriptions.getDefectDescription(),
+                              new Predicate<DefectDescription>() {
+
+                                  public boolean apply(DefectDescription defectDescription) {
+                                      return usabilityRule.ruleIdentifier()
+                                          .equals(defectDescription.getDefectId());
+                                  }
+
+                              });
+        if (!guidlineDescription.isPresent())
+            throw new RuntimeException(
+                                       "error while initializing usability defect descriptions. No " +
+                                           "description text available for description " +
+                                           usabilityRule.ruleIdentifier());
         return guidlineDescription.get();
     }
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/NoLetterOrDigitTextInputsEvaluator.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/NoLetterOrDigitTextInputsEvaluator.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/NoLetterOrDigitTextInputsEvaluator.java	(revision 1040)
@@ -1,2 +1,16 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.evaluation.rule.evaluator;
 
@@ -16,7 +30,16 @@
 import de.ugoe.cs.autoquest.usability.tasktree.filter.TaskTreeFilter;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class NoLetterOrDigitTextInputsEvaluator extends RuleEvaluator {
 
-    public NoLetterOrDigitTextInputsEvaluator(UsabilityRule evaluatedUsabilityRule, ITaskTree taskTree) {
+    public NoLetterOrDigitTextInputsEvaluator(UsabilityRule evaluatedUsabilityRule,
+                                              ITaskTree taskTree)
+    {
         super(evaluatedUsabilityRule, taskTree);
     }
@@ -25,28 +48,34 @@
     protected FilterStatistic nodesUnderEvaluation(ITaskTree taskTree) {
         Optional<FilterStatistic> cachedNodes = loadFromCache(TEXT_INPUT);
-        return cachedNodes.isPresent() ? cachedNodes.get() : cacheAndReturnNodes(taskTree, TEXT_INPUT);
+        return cachedNodes.isPresent() ? cachedNodes.get() : cacheAndReturnNodes(taskTree,
+                                                                                 TEXT_INPUT);
     }
-    
+
     @Override
     protected FilterStatistic extractNodesFromTaskTree(ITaskTree taskTree) {
-        return new TaskTreeFilter(new IterativeDFSFilterStrategy())
-            .filterByEventType(TEXT_INPUT).from(taskTree);
+        return new TaskTreeFilter(new IterativeDFSFilterStrategy()).filterByEventType(TEXT_INPUT)
+            .from(taskTree);
     }
 
     @Override
     protected float calculateEvaluationMetric() {
-        Multiset<String> enteredTextFragments = aggregateEnteredTextFromTextInputs(this.filteredNodes.nodesMatchedFilter());
+        Multiset<String> enteredTextFragments =
+            aggregateEnteredTextFromTextInputs(this.filteredNodes.nodesMatchedFilter());
         int allCharactersCount = 0;
         int noLetterOrDigitCount = 0;
-        for(String textFragment : enteredTextFragments.elementSet()) {
+        for (String textFragment : enteredTextFragments.elementSet()) {
             int occurencesOfTextFragment = enteredTextFragments.count(textFragment);
             allCharactersCount += CharMatcher.ANY.countIn(textFragment) * occurencesOfTextFragment;
-            noLetterOrDigitCount += CharMatcher.forPredicate(characterIsLetterOrDigitPredicate()).countIn(textFragment) * occurencesOfTextFragment;
+            noLetterOrDigitCount +=
+                CharMatcher.forPredicate(characterIsLetterOrDigitPredicate()).countIn(textFragment) *
+                    occurencesOfTextFragment;
         }
-        return allCharactersCount != 0 ? (float) noLetterOrDigitCount / (float) allCharactersCount : 0;
+        return allCharactersCount != 0 ? (float) noLetterOrDigitCount / (float) allCharactersCount
+            : 0;
     }
 
     @Override
-    protected Optional<UsabilityDefectSeverityLevel> determineSeverityLevel(float evaluationMetric) {
+    protected Optional<UsabilityDefectSeverityLevel> determineSeverityLevel(float evaluationMetric)
+    {
         Optional<UsabilityDefectSeverityLevel> recommendationSeverityLevel = Optional.absent();
         if (evaluationMetric > 0.1) // every 10th sign
@@ -68,4 +97,4 @@
         return recommendationSeverityLevel;
     }
- 
+
 }
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/RuleEvaluator.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/RuleEvaluator.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/RuleEvaluator.java	(revision 1040)
@@ -1,2 +1,15 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
 
 package de.ugoe.cs.autoquest.usability.evaluation.rule.evaluator;
@@ -17,4 +30,11 @@
 import de.ugoe.cs.autoquest.usability.tasktree.filter.TaskTreeNodeFilter;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public abstract class RuleEvaluator {
 
@@ -38,5 +58,6 @@
 
     @SuppressWarnings("rawtypes")
-    protected FilterStatistic cacheAndReturnNodes(ITaskTree taskTree, TaskTreeNodeFilter nodeFilter) {
+    protected FilterStatistic cacheAndReturnNodes(ITaskTree taskTree, TaskTreeNodeFilter nodeFilter)
+    {
         FilterStatistic textInputEvents = extractNodesFromTaskTree(taskTree);
         FilterStatisticCache.instance().addFilterStatistic(nodeFilter, textInputEvents);
@@ -52,6 +73,5 @@
             determineSeverityLevel(evaluationMetric);
         if (severityLevel.isPresent()) {
-            ruleEvaluationResult =
-                Optional.of(createRuleEvaluationResult(severityLevel.get()));
+            ruleEvaluationResult = Optional.of(createRuleEvaluationResult(severityLevel.get()));
         }
         return ruleEvaluationResult;
@@ -59,5 +79,5 @@
 
     protected abstract float calculateEvaluationMetric();
-    
+
     protected void storeEvaluationMetricForDefectDescription(String key, String value) {
         defectDescriptionMessageParameterValues.put(key, value);
@@ -66,8 +86,8 @@
     protected abstract Optional<UsabilityDefectSeverityLevel> determineSeverityLevel(float evaluationMetric);
 
-    public UsabilityDefect createRuleEvaluationResult(UsabilityDefectSeverityLevel severityLevelOfDefect) {
+    public UsabilityDefect createRuleEvaluationResult(UsabilityDefectSeverityLevel severityLevelOfDefect)
+    {
         return new UsabilityDefectFactory(UsabilityDefectXmlDescriptionResolver.instance())
-            .createUsabilityGuidlineRecommendation(severityLevelOfDefect,
-                                                   evaluatedUsabilityRule,
+            .createUsabilityGuidlineRecommendation(severityLevelOfDefect, evaluatedUsabilityRule,
                                                    defectDescriptionMessageParameterValues);
     }
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/TextInputEntryRepetitionsEvaluator.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/TextInputEntryRepetitionsEvaluator.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/TextInputEntryRepetitionsEvaluator.java	(revision 1040)
@@ -1,6 +1,21 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.evaluation.rule.evaluator;
 
 import static de.ugoe.cs.autoquest.usability.tasktree.filter.EventTypeFilter.TEXT_INPUT;
 import static de.ugoe.cs.autoquest.usability.util.TextInputUtil.aggregateEnteredTextFromTextInputs;
+import static java.lang.String.format;
 
 import com.google.common.base.Optional;
@@ -16,7 +31,16 @@
 import de.ugoe.cs.autoquest.usability.tasktree.filter.TaskTreeFilter;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class TextInputEntryRepetitionsEvaluator extends RuleEvaluator {
 
-    public TextInputEntryRepetitionsEvaluator(UsabilityRule evaluatedUsabilityRule, ITaskTree taskTree) {
+    public TextInputEntryRepetitionsEvaluator(UsabilityRule evaluatedUsabilityRule,
+                                              ITaskTree taskTree)
+    {
         super(evaluatedUsabilityRule, taskTree);
     }
@@ -25,37 +49,52 @@
     protected FilterStatistic nodesUnderEvaluation(ITaskTree taskTree) {
         Optional<FilterStatistic> cachedNodes = loadFromCache(TEXT_INPUT);
-        return cachedNodes.isPresent() ? cachedNodes.get() : cacheAndReturnNodes(taskTree, TEXT_INPUT);
+        return cachedNodes.isPresent() ? cachedNodes.get() : cacheAndReturnNodes(taskTree,
+                                                                                 TEXT_INPUT);
     }
-    
+
     @Override
     protected FilterStatistic extractNodesFromTaskTree(ITaskTree taskTree) {
-        return new TaskTreeFilter(new IterativeDFSFilterStrategy())
-            .filterByEventType(TEXT_INPUT).from(taskTree);
+        return new TaskTreeFilter(new IterativeDFSFilterStrategy()).filterByEventType(TEXT_INPUT)
+            .from(taskTree);
     }
 
     @Override
     protected float calculateEvaluationMetric() {
-        Multiset<String> enteredTextFragments = aggregateEnteredTextFromTextInputs(this.filteredNodes.nodesMatchedFilter());
-        Multiset<String> orderedTextFragmentsWithMultipleOccurences = onlyTextFragmentsWithMultipleOccurences(enteredTextFragments);
-        if(orderedTextFragmentsWithMultipleOccurences.isEmpty()) return 0;
-        String wordWithHighestRepetitionInTextFragments = orderedTextFragmentsWithMultipleOccurences.iterator().next();
+        Multiset<String> enteredTextFragments =
+            aggregateEnteredTextFromTextInputs(this.filteredNodes.nodesMatchedFilter());
+        Multiset<String> orderedTextFragmentsWithMultipleOccurences =
+            onlyTextFragmentsWithMultipleOccurences(enteredTextFragments);
+        if (orderedTextFragmentsWithMultipleOccurences.isEmpty())
+            return 0;
+        String wordWithHighestRepetitionInTextFragments =
+            orderedTextFragmentsWithMultipleOccurences.iterator().next();
         int numberOfRepeatedWords = orderedTextFragmentsWithMultipleOccurences.entrySet().size();
-        int maxRepetitions = orderedTextFragmentsWithMultipleOccurences.count(wordWithHighestRepetitionInTextFragments);
+        int maxRepetitions =
+            orderedTextFragmentsWithMultipleOccurences
+                .count(wordWithHighestRepetitionInTextFragments);
+        storeEvaluationMetricForDefectDescription("textRepetitionRatio",
+                                                  format("textRepetitionRatio %s repeated tokens, up to %s repetitions per token",
+                                                         numberOfRepeatedWords, maxRepetitions));
         return Math.max(numberOfRepeatedWords, maxRepetitions);
     }
-    
-    private Multiset<String> onlyTextFragmentsWithMultipleOccurences(final Multiset<String> allTextInputs) {
-        return Multisets.copyHighestCountFirst(Multisets.filter(allTextInputs, new Predicate<String>() {
-            
-            @Override
-            public boolean apply(String word) {
-                return allTextInputs.count(word) > 1;
-            }
-            
-        }));
+
+    private Multiset<String> onlyTextFragmentsWithMultipleOccurences(final Multiset<String> allTextInputs)
+    {
+        return Multisets.copyHighestCountFirst(Multisets.filter(allTextInputs,
+                                                                new Predicate<String>() {
+
+                                                                    @Override
+                                                                    public boolean apply(String word)
+                                                                    {
+                                                                        return allTextInputs
+                                                                            .count(word) > 1;
+                                                                    }
+
+                                                                }));
     }
 
     @Override
-    protected Optional<UsabilityDefectSeverityLevel> determineSeverityLevel(float evaluationMetric) {
+    protected Optional<UsabilityDefectSeverityLevel> determineSeverityLevel(float evaluationMetric)
+    {
         Optional<UsabilityDefectSeverityLevel> recommendationSeverityLevel = Optional.absent();
         if (evaluationMetric > 10) {
@@ -73,4 +112,4 @@
         return recommendationSeverityLevel;
     }
-    
+
 }
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/TextInputRatioEvaluator.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/TextInputRatioEvaluator.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/evaluator/TextInputRatioEvaluator.java	(revision 1040)
@@ -1,2 +1,16 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.evaluation.rule.evaluator;
 
@@ -15,4 +29,11 @@
 import de.ugoe.cs.autoquest.usability.tasktree.filter.TaskTreeFilter;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class TextInputRatioEvaluator extends RuleEvaluator {
 
@@ -24,10 +45,12 @@
     protected FilterStatistic nodesUnderEvaluation(ITaskTree taskTree) {
         Optional<FilterStatistic> cachedNodes = loadFromCache(TEXT_INPUT);
-        return cachedNodes.isPresent() ? cachedNodes.get() : cacheAndReturnNodes(taskTree, TEXT_INPUT);
+        return cachedNodes.isPresent() ? cachedNodes.get() : cacheAndReturnNodes(taskTree,
+                                                                                 TEXT_INPUT);
     }
 
     @Override
     protected FilterStatistic extractNodesFromTaskTree(ITaskTree taskTree) {
-        return new TaskTreeFilter(new IterativeDFSFilterStrategy()).filterByEventType(TEXT_INPUT).from(taskTree);
+        return new TaskTreeFilter(new IterativeDFSFilterStrategy()).filterByEventType(TEXT_INPUT)
+            .from(taskTree);
     }
 
@@ -38,19 +61,20 @@
         return textInputEvents / (textInputEvents + nonTextInputEvents);
     }
-    
+
     private int nrOfEventNodesNotMatchedFilter() {
-        return Iterables.size(
-            Iterables.filter(this.filteredNodes.nodesNotMatchedFilter(), new Predicate<ITaskTreeNode>() {
-            
-                @Override
-                public boolean apply(ITaskTreeNode node) {
-                    return  (node.getChildren() == null) || (node.getChildren().size() == 0);
-                }
-            })
-        );
+        return Iterables.size(Iterables.filter(this.filteredNodes.nodesNotMatchedFilter(),
+                                               new Predicate<ITaskTreeNode>() {
+
+                                                   @Override
+                                                   public boolean apply(ITaskTreeNode node) {
+                                                       return (node.getChildren() == null) ||
+                                                           (node.getChildren().size() == 0);
+                                                   }
+                                               }));
     }
 
     @Override
-    protected Optional<UsabilityDefectSeverityLevel> determineSeverityLevel(float evaluationMetric) {
+    protected Optional<UsabilityDefectSeverityLevel> determineSeverityLevel(float evaluationMetric)
+    {
         Optional<UsabilityDefectSeverityLevel> recommendationSeverityLevel = Optional.absent();
         if (evaluationMetric > 0.9) {
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/EmptyUsabilityRuleset.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/EmptyUsabilityRuleset.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/EmptyUsabilityRuleset.java	(revision 1040)
@@ -1,2 +1,16 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.evaluation.rule.set;
 
@@ -10,8 +24,15 @@
 import de.ugoe.cs.autoquest.usability.evaluation.result.UsabilityDefect;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class EmptyUsabilityRuleset implements UsabilityRuleset {
-    
+
     private enum EmptyUsabilityRule implements UsabilityRule {
-	;
+        ;
 
         @Override
@@ -26,11 +47,11 @@
 
     }
-    
-    private final EnumSet<EmptyUsabilityRule> EMPTY_USABILITY_RULESET = 
-	    EnumSet.noneOf(EmptyUsabilityRule.class);
+
+    private final EnumSet<EmptyUsabilityRule> EMPTY_USABILITY_RULESET = EnumSet
+        .noneOf(EmptyUsabilityRule.class);
 
     @Override
     public EnumSet<? extends UsabilityRule> evaluationRules() {
-	return EMPTY_USABILITY_RULESET;
+        return EMPTY_USABILITY_RULESET;
     }
 
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/MouseInteractionUsabilityRuleset.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/MouseInteractionUsabilityRuleset.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/MouseInteractionUsabilityRuleset.java	(revision 1040)
@@ -1,2 +1,16 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.evaluation.rule.set;
 
@@ -8,8 +22,15 @@
 import de.ugoe.cs.autoquest.usability.evaluation.result.UsabilityDefect;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class MouseInteractionUsabilityRuleset implements UsabilityRuleset {
 
     private enum MouseInteractionUsabilityRule implements UsabilityRule {
-        
+
         MOUSE_INTERACTION {
 
@@ -25,13 +46,13 @@
                 return this.name();
             }
-            
+
         };
 
         public abstract Optional<UsabilityDefect> evaluate(ITaskTree taskTree);
     }
-    
-    private final EnumSet<MouseInteractionUsabilityRule> MOUSE_INTERACTION_USABILITY_RULESET = EnumSet
-            .allOf(MouseInteractionUsabilityRule.class);
-    
+
+    private final EnumSet<MouseInteractionUsabilityRule> MOUSE_INTERACTION_USABILITY_RULESET =
+        EnumSet.allOf(MouseInteractionUsabilityRule.class);
+
     @Override
     public EnumSet<? extends UsabilityRule> evaluationRules() {
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/RulesetFactory.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/RulesetFactory.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/RulesetFactory.java	(revision 1040)
@@ -1,18 +1,39 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.evaluation.rule.set;
 
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
+public class RulesetFactory {
 
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public class RulesetFactory {
-    
+    private RulesetFactory() {
+        // no instantiation allowed
+    }
+
     public static EmptyUsabilityRuleset emptyUsabilityRuleset() {
-	return new EmptyUsabilityRuleset();
+        return new EmptyUsabilityRuleset();
     }
-    
+
     public static TextInputUsabiliyRuleset textInputUsabiliyRuleset() {
-	return new TextInputUsabiliyRuleset();
+        return new TextInputUsabiliyRuleset();
     }
-    
+
     public static MouseInteractionUsabilityRuleset mouseInteractionUsabiliyRuleset() {
         return new MouseInteractionUsabilityRuleset();
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/TextInputUsabiliyRuleset.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/TextInputUsabiliyRuleset.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/TextInputUsabiliyRuleset.java	(revision 1040)
@@ -1,2 +1,15 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
 
 package de.ugoe.cs.autoquest.usability.evaluation.rule.set;
@@ -12,4 +25,11 @@
 import de.ugoe.cs.autoquest.usability.evaluation.rule.evaluator.TextInputRatioEvaluator;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class TextInputUsabiliyRuleset implements UsabilityRuleset {
 
@@ -17,5 +37,5 @@
 
         TEXT_FIELD_INPUT_RATIO {
-            
+
             @Override
             public Optional<UsabilityDefect> evaluate(ITaskTree taskTree) {
@@ -56,7 +76,6 @@
             }
 
+        };
 
-        };
-        
         public abstract Optional<UsabilityDefect> evaluate(ITaskTree taskTree);
 
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/UsabilityRule.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/UsabilityRule.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/UsabilityRule.java	(revision 1040)
@@ -1,2 +1,16 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.evaluation.rule.set;
 
@@ -6,8 +20,15 @@
 import de.ugoe.cs.autoquest.usability.evaluation.result.UsabilityDefect;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public interface UsabilityRule {
-    
+
     public String ruleIdentifier();
-    
+
     public Optional<UsabilityDefect> evaluate(ITaskTree taskTree);
 
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/UsabilityRuleset.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/UsabilityRuleset.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/evaluation/rule/set/UsabilityRuleset.java	(revision 1040)
@@ -1,10 +1,30 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.evaluation.rule.set;
 
 import java.util.EnumSet;
 
-
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public interface UsabilityRuleset {
 
     public EnumSet<? extends UsabilityRule> evaluationRules();
-    
+
 }
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/EventTargetFilter.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/EventTargetFilter.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/EventTargetFilter.java	(revision 1040)
@@ -1,2 +1,16 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.tasktree.filter;
 
@@ -11,12 +25,19 @@
 import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeNode;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public enum EventTargetFilter implements TaskTreeNodeFilter<IEventTarget> {
 
     TEXT_FIELD(ITextField.class),
-    
+
     TEXT_AREA(ITextArea.class);
-    
+
     private Class<? extends IEventTarget> eventTargetClazz;
-    
+
     private EventTargetFilter(Class<? extends IEventTarget> eventTargetClazz) {
         this.eventTargetClazz = eventTargetClazz;
@@ -37,8 +58,8 @@
         return Predicates.and(instanceOfIEventTaskPredicate, nodeHoldsInstanceOfFilterArgument);
     }
-    
+
     private Function<ITaskTreeNode, IEventTarget> nodeExtractionFunction() {
         return new Function<ITaskTreeNode, IEventTarget>() {
-            
+
             @Override
             public IEventTarget apply(ITaskTreeNode treeNode) {
@@ -47,4 +68,4 @@
         };
     }
-    
+
 }
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/EventTypeFilter.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/EventTypeFilter.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/EventTypeFilter.java	(revision 1040)
@@ -1,2 +1,16 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.tasktree.filter;
 
@@ -6,4 +20,5 @@
 
 import de.ugoe.cs.autoquest.eventcore.IEventType;
+import de.ugoe.cs.autoquest.eventcore.gui.IInteraction;
 import de.ugoe.cs.autoquest.eventcore.gui.MouseButtonInteraction;
 import de.ugoe.cs.autoquest.eventcore.gui.MouseInteraction;
@@ -12,14 +27,23 @@
 import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeNode;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public enum EventTypeFilter implements TaskTreeNodeFilter<IEventType> {
+
+    MOUSE_BUTTON_INTERACTION(MouseButtonInteraction.class),
+    
+    MOUSE_INTERACTION(MouseInteraction.class),
     
     TEXT_INPUT(TextInput.class),
     
-    MOUSE_INTERACTION(MouseInteraction.class),
-    
-    MOUSE_BUTTON_INTERACTION(MouseButtonInteraction.class);
-    
+    USER_INTERACTION(IInteraction.class);
+
     private Class<? extends IEventType> eventTypeClazz;
-    
+
     private EventTypeFilter(Class<? extends IEventType> eventTypeClazz) {
         this.eventTypeClazz = eventTypeClazz;
@@ -31,5 +55,5 @@
         return (Class<IEventType>) eventTypeClazz;
     }
-    
+
     @SuppressWarnings("rawtypes")
     @Override
@@ -40,8 +64,8 @@
         return Predicates.and(instanceOfIEventTaskPredicate, nodeHoldsInstanceOfFilterArgument);
     }
-    
+
     private Function<ITaskTreeNode, IEventType> nodeExtractionFunction() {
         return new Function<ITaskTreeNode, IEventType>() {
-            
+
             @Override
             public IEventType apply(ITaskTreeNode treeNode) {
@@ -50,3 +74,3 @@
         };
     }
-    }
+}
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/FilterStatistic.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/FilterStatistic.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/FilterStatistic.java	(revision 1040)
@@ -1,2 +1,16 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.tasktree.filter;
 
@@ -4,46 +18,75 @@
 
 import com.google.common.base.Predicate;
+import com.google.common.collect.LinkedListMultimap;
 import com.google.common.collect.Lists;
+import com.google.common.collect.Multimap;
 
+import de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElement;
+import de.ugoe.cs.autoquest.tasktrees.treeifc.IEventTask;
 import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeNode;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class FilterStatistic {
-    
+
     @SuppressWarnings("rawtypes")
     private final Predicate filterPredicate;
 
     private List<ITaskTreeNode> filteredNodes = Lists.newArrayList();
-    
+
     private List<ITaskTreeNode> nodesNotMatchedFilter = Lists.newArrayList();
-    
+
     @SuppressWarnings("rawtypes")
     public FilterStatistic(Predicate filterPredicate) {
         this.filterPredicate = filterPredicate;
     }
-    
+
     @SuppressWarnings("unchecked")
     public void addNode(ITaskTreeNode node) {
         if (filterPredicate.apply(node)) {
             filteredNodes.add(node);
-        } else {
+        }
+        else {
             nodesNotMatchedFilter.add(node);
         }
     }
-    
+
     public List<ITaskTreeNode> nodesMatchedFilter() {
         return this.filteredNodes;
     }
-    
+
     public int nrOfNodesMatchedFilter() {
         return this.filteredNodes.size();
     }
-    
+
     public List<ITaskTreeNode> nodesNotMatchedFilter() {
         return this.nodesNotMatchedFilter;
     }
-    
+
     public int nrOfNodesNotMatchedFilter() {
         return this.nodesNotMatchedFilter.size();
     }
-    
+
+    /**
+     * <p>
+     * TODO: comment
+     * </p>
+     *
+     * @param eventTargetParent
+     * @return
+     */
+    public Multimap<IGUIElement, ITaskTreeNode> groupBy() {
+        Multimap<IGUIElement, ITaskTreeNode> groupedNodes = LinkedListMultimap.create();
+        for(ITaskTreeNode node : filteredNodes) {
+            IGUIElement eventTask = (IGUIElement) ((IEventTask) node).getEventTarget();
+            groupedNodes.put(eventTask.getParent(), node);
+        }
+        return groupedNodes;
+    }
+
 }
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/FilterStatisticCache.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/FilterStatisticCache.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/FilterStatisticCache.java	(revision 1040)
@@ -1,2 +1,16 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.tasktree.filter;
 
@@ -7,32 +21,39 @@
 import com.google.common.cache.CacheBuilder;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class FilterStatisticCache {
 
     private static final FilterStatisticCache instance = new FilterStatisticCache();
-    
+
     @SuppressWarnings("rawtypes")
     private Cache<TaskTreeNodeFilter, FilterStatistic> cache;
-    
+
     private FilterStatisticCache() {
         this.cache = CacheBuilder.newBuilder().expireAfterWrite(10, TimeUnit.MINUTES).build();
     }
-    
+
     public static FilterStatisticCache instance() {
         return instance;
     }
-    
+
     @SuppressWarnings("rawtypes")
     public void addFilterStatistic(TaskTreeNodeFilter nodeFilter, FilterStatistic filterStatistic) {
         this.cache.put(nodeFilter, filterStatistic);
     }
-    
+
     @SuppressWarnings("rawtypes")
     public Optional<FilterStatistic> getFilterStatistic(TaskTreeNodeFilter nodeFilter) {
         return Optional.fromNullable(this.cache.getIfPresent(nodeFilter));
     }
-    
+
     public void clear() {
         this.cache.invalidateAll();
     }
-    
+
 }
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/IterativeDFSFilterStrategy.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/IterativeDFSFilterStrategy.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/IterativeDFSFilterStrategy.java	(revision 1040)
@@ -1,2 +1,16 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.tasktree.filter;
 
@@ -10,8 +24,15 @@
 import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeNode;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class IterativeDFSFilterStrategy implements TaskTreeFilterStrategy {
-    
+
     private FilterStatistic filterStatistic;
-    
+
     @SuppressWarnings("unchecked")
     @Override
@@ -31,9 +52,18 @@
         return this.filterStatistic;
     }
-    
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public FilterStatistic filter(ITaskTree taskTree, TaskTreeNodeTypeFilter nodeType) {
+        Predicate<ITaskTreeNode> filterPredicate = nodeType.filterPredicate();
+        this.filterStatistic = new FilterStatistic(filterPredicate);
+        traverse(taskTree);
+        return this.filterStatistic;
+    }
+
     private void traverse(ITaskTree taskTree) {
         Stack<ITaskTreeNode> unvisitedNodes = new Stack<ITaskTreeNode>();
         unvisitedNodes.push(taskTree.getRoot());
-        while(stillUnvisitedNodes(unvisitedNodes)) {
+        while (stillUnvisitedNodes(unvisitedNodes)) {
             ITaskTreeNode node = unvisitedNodes.pop();
             processCurrentNode(node);
@@ -49,8 +79,9 @@
         this.filterStatistic.addNode(node);
     }
-    
+
     private void processChildrenOfCurrentNode(Stack<ITaskTreeNode> unvisitedNodes,
-                                              ITaskTreeNode node) {
-        for(ITaskTreeNode child : node.getChildren()) {
+                                              ITaskTreeNode node)
+    {
+        for (ITaskTreeNode child : node.getChildren()) {
             unvisitedNodes.push(child);
         }
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/TaskTreeFilter.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/TaskTreeFilter.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/TaskTreeFilter.java	(revision 1040)
@@ -1,2 +1,15 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
 
 package de.ugoe.cs.autoquest.usability.tasktree.filter;
@@ -6,8 +19,15 @@
 import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTree;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class TaskTreeFilter {
-    
+
     private final TaskTreeFilterStrategy taskTreeFilterStrategy;
-    
+
     public TaskTreeFilter(TaskTreeFilterStrategy treeTraversalStrategy) {
         Preconditions.checkNotNull(treeTraversalStrategy);
@@ -21,4 +41,8 @@
     public FilterEventTypeStep filterByEventType(EventTypeFilter eventType) {
         return new FilterEventTypeStep(eventType);
+    }
+
+    public FilterNodeTypeStep filterByNodeType(TaskTreeNodeTypeFilter nodeType) {
+        return new FilterNodeTypeStep(nodeType);
     }
 
@@ -50,3 +74,17 @@
 
     }
+
+    public class FilterNodeTypeStep {
+
+        private final TaskTreeNodeTypeFilter nodeType;
+
+        public FilterNodeTypeStep(TaskTreeNodeTypeFilter nodeType) {
+            this.nodeType = nodeType;
+        }
+
+        public FilterStatistic from(ITaskTree taskTree) {
+            return taskTreeFilterStrategy.filter(taskTree, nodeType);
+        }
+
+    }
 }
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/TaskTreeFilterStrategy.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/TaskTreeFilterStrategy.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/TaskTreeFilterStrategy.java	(revision 1040)
@@ -1,6 +1,27 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.tasktree.filter;
 
 import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTree;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public interface TaskTreeFilterStrategy {
 
@@ -8,4 +29,6 @@
 
     public FilterStatistic filter(ITaskTree taskTree, EventTypeFilter eventType);
-  
+
+    public FilterStatistic filter(ITaskTree taskTree, TaskTreeNodeTypeFilter nodeType);
+
 }
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/TaskTreeNodeFilter.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/TaskTreeNodeFilter.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/tasktree/filter/TaskTreeNodeFilter.java	(revision 1040)
@@ -1,12 +1,33 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.tasktree.filter;
 
 import com.google.common.base.Predicate;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public interface TaskTreeNodeFilter<T> {
 
     public Class<T> clazz();
-    
+
     @SuppressWarnings("rawtypes")
     public Predicate filterPredicate();
-    
+
 }
Index: /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/util/TextInputUtil.java
===================================================================
--- /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/util/TextInputUtil.java	(revision 1039)
+++ /trunk/autoquest-core-usability-evaluation/src/main/java/de/ugoe/cs/autoquest/usability/util/TextInputUtil.java	(revision 1040)
@@ -1,2 +1,16 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
 package de.ugoe.cs.autoquest.usability.util;
 
@@ -15,9 +29,21 @@
 import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeNode;
 
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Alexander Deicke
+ */
 public class TextInputUtil {
-    
-    public static Multiset<String> aggregateEnteredTextFromTextInputs(List<ITaskTreeNode> nodesWithTextInputEvents) {
+
+    private TextInputUtil() {
+        // util class
+    }
+
+    public static Multiset<String> aggregateEnteredTextFromTextInputs(List<ITaskTreeNode> nodesWithTextInputEvents)
+    {
         List<Iterable<String>> allTextInputs = Lists.newArrayList();
-        for(ITaskTreeNode nodeWithTextInput : nodesWithTextInputEvents) {
+        for (ITaskTreeNode nodeWithTextInput : nodesWithTextInputEvents) {
             TextInput textInput = (TextInput) ((IEventTask) nodeWithTextInput).getEventType();
             allTextInputs.add(splitTextIntoWordsAndSigns(textInput.getEnteredText()));
@@ -25,32 +51,38 @@
         return HashMultiset.create(Iterables.concat(allTextInputs));
     }
-    
+
     public static Iterable<String> splitTextIntoWordsAndSigns(String enteredText) {
-        CharMatcher onlyWords = CharMatcher.WHITESPACE.or(CharMatcher.forPredicate(characterIsJavaIdentifierPartPredicate()));
-        CharMatcher onlySigns = CharMatcher.WHITESPACE.or(CharMatcher.forPredicate(characterIsJavaIdentifierPartPredicate()).negate());
-        Iterable<String> words = Splitter.on(onlyWords).omitEmptyStrings().trimResults().split(enteredText);
-        Iterable<String> signs = Splitter.on(onlySigns).omitEmptyStrings().trimResults().split(enteredText);
+        CharMatcher onlyWords =
+            CharMatcher.WHITESPACE.or(CharMatcher
+                .forPredicate(characterIsJavaIdentifierPartPredicate()));
+        CharMatcher onlySigns =
+            CharMatcher.WHITESPACE.or(CharMatcher
+                .forPredicate(characterIsJavaIdentifierPartPredicate()).negate());
+        Iterable<String> words =
+            Splitter.on(onlyWords).omitEmptyStrings().trimResults().split(enteredText);
+        Iterable<String> signs =
+            Splitter.on(onlySigns).omitEmptyStrings().trimResults().split(enteredText);
         return Iterables.concat(words, signs);
     }
-    
+
     public static Predicate<Character> characterIsJavaIdentifierPartPredicate() {
         return new Predicate<Character>() {
-            
+
             @Override
             public boolean apply(Character character) {
-               return  !Character.isJavaIdentifierPart(character);
+                return !Character.isJavaIdentifierPart(character);
             }
-            
+
         };
     }
-    
+
     public static Predicate<Character> characterIsLetterOrDigitPredicate() {
         return new Predicate<Character>() {
-            
+
             @Override
             public boolean apply(Character character) {
                 return !Character.isLetterOrDigit(character);
             }
-            
+
         };
     }
