import java.util.Comparator;


public class OPM_Sample implements Comparator<String> {

	public void testNormalMethodCouldBePrivate() {
		someNormalMethod();
	}
	
	@Override
	public int compare(String s1, String s2) {
		return s2.compareTo(s1);
	}
	
	public int testFPGenericDerivation() {
		return compare("Hello", "World");
	}

	public void someNormalMethod() {
		
	}
}

@@ -22,16 +22,39 @@
 arator;%0A
+import java.util.List;%0A
 %0A%0Apublic
@@ -71,16 +71,33 @@
 _Sample 
+extends OPMSuper 
 implemen
@@ -399,14 +399,224 @@
 d() %7B%0A%09%09
-%0A%09%7D
+return getFoo(l);%0A%09%7D%0A%09%0A%09public List%3CString%3E getFoo(List%3CString%3E l) %7B%0A%09%09return l;%0A%09%7D%0A%09%0A%09public void fpUncalledDontReport() %7B%0A%09%7D%0A%09%0A%09%0A%7D%0A%0Aabstract class OPMSuper %7B%0A%09public abstract List%3CString%3E getFoo(List%3CString%3E l);
 %0A%7D%0A

add more OPM tests