/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main
(String[] args
) {
A a = new B();
List<SomeDummyClass> someDummyClasses = a.foo();
System.
out.
println(someDummyClasses.
get(0)); // prints 3 }
}
class Person {}
class OtherPerson {}
class SomeDummyClass {}
interface A {
<E>List<E> foo();
}
class B implements A {
@Override
public List<Object> foo() {
return Arrays.
asList(Integer.
valueOf(3),
new Person
(),
new OtherPerson
()); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKQoJewoJCUEgYSA9IG5ldyBCKCk7CiAgICAgICAgTGlzdDxTb21lRHVtbXlDbGFzcz4gc29tZUR1bW15Q2xhc3NlcyA9IGEuZm9vKCk7CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihzb21lRHVtbXlDbGFzc2VzLmdldCgwKSk7IC8vIHByaW50cyAzCgl9Cn0KCmNsYXNzIFBlcnNvbiB7fQpjbGFzcyBPdGhlclBlcnNvbiB7fQpjbGFzcyBTb21lRHVtbXlDbGFzcyB7fQoKaW50ZXJmYWNlIEEgewogICAgPEU+TGlzdDxFPiBmb28oKTsKfQoKY2xhc3MgQiBpbXBsZW1lbnRzIEEgewogICAgQE92ZXJyaWRlCiAgICBwdWJsaWMgTGlzdDxPYmplY3Q+IGZvbygpIHsKICAgICAgICByZXR1cm4gQXJyYXlzLmFzTGlzdChJbnRlZ2VyLnZhbHVlT2YoMyksIG5ldyBQZXJzb24oKSwgbmV3IE90aGVyUGVyc29uKCkpOwogICAgfQp9