import java.util.Arrays;
import java.util.List;
import java.util.Vector;

public class A_testParametricParameter_in {
    String fValue2 = "Eclipse";
    List<String> fValue = Arrays.asList("Eclipse");
    
    String test(String arg) { return null;}
    List<String> test2(java.util.List<Object> aList, Iterable<Object> l){
        return null;
    }
    Vector foo(BBB aaa){
    	List<String> xx = null;
    	return null;
    }
}

class AAA {
	
}
class BBB extends AAA {
	
}
