generified getAdapter(..)
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/compare/JavaMergeViewer.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/compare/JavaMergeViewer.java
index f142817..75997b6 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/compare/JavaMergeViewer.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/compare/JavaMergeViewer.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
+ * Copyright (c) 2000, 2016 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -529,15 +529,16 @@
 		}
 	}
 	
+	@SuppressWarnings("unchecked")
 	@Override
-	public Object getAdapter(Class adapter) {
+	public <T> T getAdapter(Class<T> adapter) {
 		if (adapter == ITextEditorExtension3.class) {
-			IEditorInput activeInput= (IEditorInput)super.getAdapter(IEditorInput.class);
+			IEditorInput activeInput= super.getAdapter(IEditorInput.class);
 			if (activeInput != null) {
 				for (Iterator<CompilationUnitEditorAdapter> iterator= fEditor.values().iterator(); iterator.hasNext();) {
 					CompilationUnitEditorAdapter editor= iterator.next();
 					if (activeInput.equals(editor.getEditorInput()))
-						return editor;
+						return (T) editor;
 				}
 			}
 			return null;