fix warnings and ensure no task active after tests run

Change-Id: I7f59d73e4f86a3e5a1edbb09a0b294b33d5d4721
diff --git a/org.eclipse.mylyn.context.tasks.tests/src/org/eclipse/mylyn/context/tasks/tests/TaskEditorRestoreTest.java b/org.eclipse.mylyn.context.tasks.tests/src/org/eclipse/mylyn/context/tasks/tests/TaskEditorRestoreTest.java
index dbd62e4..b70d83b 100644
--- a/org.eclipse.mylyn.context.tasks.tests/src/org/eclipse/mylyn/context/tasks/tests/TaskEditorRestoreTest.java
+++ b/org.eclipse.mylyn.context.tasks.tests/src/org/eclipse/mylyn/context/tasks/tests/TaskEditorRestoreTest.java
@@ -43,6 +43,7 @@
 import com.google.common.collect.FluentIterable;
 import com.google.common.collect.ImmutableSet;
 
+@SuppressWarnings("restriction")
 public class TaskEditorRestoreTest extends TestCase {
 
 	private IWorkbenchPage page;
@@ -82,6 +83,7 @@
 
 	@Override
 	protected void tearDown() throws Exception {
+		taskActivityManager.deactivateActiveTask();
 		if (project != null) {
 			project.delete(true, null);
 		}
@@ -106,7 +108,7 @@
 		taskActivityManager.activateTask(task1);
 
 		assertOnlyTask1IsOpen();
-		assertEquals(Collections.emptySet(), getOpenEditorsByType(TextEditor.class, Functions.identity()));
+		assertEquals(Collections.emptySet(), getOpenEditorsByType(TextEditor.class, Functions.<TextEditor> identity()));
 	}
 
 	public void testDeactivateRestoresActiveTaskEditorAndFiles() throws Exception {
@@ -132,8 +134,8 @@
 	}
 
 	private void assertNoTaskOrTextEditorsOpen() {
-		assertEquals(Collections.emptySet(), getOpenEditorsByType(TextEditor.class, Functions.identity()));
-		assertEquals(Collections.emptySet(), getOpenEditorsByType(TaskEditor.class, Functions.identity()));
+		assertEquals(Collections.emptySet(), getOpenEditorsByType(TextEditor.class, Functions.<TextEditor> identity()));
+		assertEquals(Collections.emptySet(), getOpenEditorsByType(TaskEditor.class, Functions.<TaskEditor> identity()));
 	}
 
 	private void assertOnlyTask1IsOpen() {
@@ -156,7 +158,7 @@
 		assertEquals(ImmutableSet.of(fileA.getName(), fileB.getName()), editorTitles);
 	}
 
-	private <T> Set getOpenEditorsByType(Class<T> clazz, Function propertyFunction) {
+	private <T extends IEditorPart, S> Set<S> getOpenEditorsByType(Class<T> clazz, Function<T, S> propertyFunction) {
 		return FluentIterable.from(Arrays.asList(page.getEditorReferences()))
 				.transform(new Function<IEditorReference, IEditorPart>() {
 					@Override