Index: trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/UsabilitySmell.java
===================================================================
--- trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/UsabilityDefect.java	(revision 1493)
+++ trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/UsabilitySmell.java	(revision 1918)
@@ -18,4 +18,6 @@
 import java.util.Map;
 
+import de.ugoe.cs.autoquest.tasktrees.treeifc.ITask;
+
 /**
  * TODO comment
@@ -24,11 +26,14 @@
  * @author 2012, last modified by $Author: pharms$
  */
-public class UsabilityDefect {
+public class UsabilitySmell {
 
     /** */
-    private UsabilityDefectSeverity severity;
+    private ITask smellingTask;
+    
+    /** */
+    private UsabilitySmellIntensity intensity;
 
     /** */
-    private UsabilityDefectDescription description;
+    private UsabilitySmellDescription description;
 
     /** */
@@ -38,6 +43,16 @@
      *
      */
-    UsabilityDefect(UsabilityDefectSeverity severity, UsabilityDefectDescription description) {
-        this(severity, description, null);
+    UsabilitySmell(UsabilitySmellIntensity intensity, UsabilitySmellDescription description) {
+        this(intensity, description, null);
+    }
+    
+    /**
+     *
+     */
+    UsabilitySmell(ITask                     smellingTask,
+                   UsabilitySmellIntensity   intensity,
+                   UsabilitySmellDescription description)
+    {
+        this(intensity, description, null);
     }
 
@@ -45,9 +60,21 @@
      *
      */
-    UsabilityDefect(UsabilityDefectSeverity    severity,
-                    UsabilityDefectDescription description,
-                    Map<String, Object>        parameters)
+    UsabilitySmell(UsabilitySmellIntensity   intensity,
+                   UsabilitySmellDescription description,
+                   Map<String, Object>       parameters)
     {
-        this.severity = severity;
+        this(null, intensity, description, parameters);
+    }
+
+    /**
+     *
+     */
+    UsabilitySmell(ITask                     smellingTask,
+                   UsabilitySmellIntensity   intensity,
+                   UsabilitySmellDescription description,
+                   Map<String, Object>       parameters)
+    {
+        this.smellingTask = smellingTask;
+        this.intensity = intensity;
         this.description = description;
         this.descriptionParameters = parameters;
@@ -57,6 +84,13 @@
      * 
      */
-    public UsabilityDefectSeverity getSeverity() {
-        return severity;
+    public ITask getSmellingTask() {
+        return smellingTask;
+    }
+
+    /**
+     * 
+     */
+    public UsabilitySmellIntensity getIntensity() {
+        return intensity;
     }
 
@@ -64,6 +98,6 @@
      *
      */
-    public void setSeverity(UsabilityDefectSeverity severity) {
-        this.severity = severity;
+    public void setIntensity(UsabilitySmellIntensity intensity) {
+        this.intensity = intensity;
     }
 
@@ -71,5 +105,5 @@
      *
      */
-    public void setDescription(UsabilityDefectDescription description) {
+    public void setDescription(UsabilitySmellDescription description) {
         this.description = description;
     }
@@ -102,8 +136,6 @@
     @Override
     public boolean equals(Object obj) {
-        if (obj instanceof UsabilityDefect) {
-            return
-                (severity == ((UsabilityDefect) obj).severity) &&
-                (description == ((UsabilityDefect) obj).description);
+        if (obj instanceof UsabilitySmell) {
+            return description.equals(((UsabilitySmell) obj).description);
         }
         else {
@@ -119,5 +151,5 @@
     @Override
     public int hashCode() {
-        return severity.hashCode() + description.hashCode();
+        return description.hashCode();
     }
 
@@ -129,5 +161,11 @@
     @Override
     public String toString() {
-        return "UsabilityDefect(" + severity.name() + ", " + description.name() + ")";
+        if (smellingTask == null) {
+            return "UsabilitySmell(" + intensity + ", " + description.name() + ")";
+        }
+        else {
+            return "UsabilitySmell(" + smellingTask + ", " + intensity + ", " +
+                description.name() + ")";
+        }
     }
 
