package p;

import java.util.ArrayList;
import java.util.List;

interface J {
	public List getList(); // cannot infer a return type (except List<?>)
}

class D implements J {
	public List getList() {
		List dList= new ArrayList();
		dList.add(Double.valueOf(1.2d));
		Double d= (Double) dList.get(0);
		return dList;
	}
}

class S implements J {
	public List getList() {
		List sList= new ArrayList();
		sList.add("String");
		String s= (String) sList.get(0);
		return sList;
	}
}