First crack at making generic queries
diff --git a/org.eclipse.mylyn.context.ui/src/org/eclipse/mylyn/ui/internal/views/TaskListHighlighterMenuContributor.java b/org.eclipse.mylyn.context.ui/src/org/eclipse/mylyn/ui/internal/views/TaskListHighlighterMenuContributor.java
index fd5bf7c..6861676 100644
--- a/org.eclipse.mylyn.context.ui/src/org/eclipse/mylyn/ui/internal/views/TaskListHighlighterMenuContributor.java
+++ b/org.eclipse.mylyn.context.ui/src/org/eclipse/mylyn/ui/internal/views/TaskListHighlighterMenuContributor.java
@@ -18,6 +18,7 @@
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.mylar.core.IMylarContextListener;
 import org.eclipse.mylar.core.MylarPlugin;
+import org.eclipse.mylar.tasklist.IQueryHit;
 import org.eclipse.mylar.tasklist.ITask;
 import org.eclipse.mylar.tasklist.ITaskListDynamicSubMenuContributor;
 import org.eclipse.mylar.tasklist.ITaskListElement;
@@ -42,8 +43,18 @@
           if (selectedElement instanceof ITaskListElement) {
         	  Action action = new Action() {
             	  @Override
-              		public void run() { 
-            		  	ITask task = ((ITaskListElement)selectedElement).getOrCreateCorrespondingTask(); 
+              		public void run() {
+            		  	ITask task = null;
+						if (selectedElement instanceof ITask) {
+							task = (ITask) selectedElement;
+						} else if (selectedElement instanceof IQueryHit) {
+							if (((IQueryHit) selectedElement)
+									.hasCorrespondingActivatableTask()) {
+								task = ((IQueryHit) selectedElement)
+										.getOrCreateCorrespondingTask();
+							}
+						}
+
             		  	if (!task.isActive()) {
 	        	    		MessageDialog.openError(Workbench.getInstance()
 	        						.getActiveWorkbenchWindow().getShell(), "Mylar Highlighting",