/* 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
{
interface IFace< T> { }
static class Something implements IFace< String> { }
static class Whatever {
protected < C extends IFace<?>> Class< C> getClazz( ) {
return ( Class< C> ) ( Class ) IFace.class ;
}
}
{
Class< Something> clazz = new Whatever( ) .getClazz ( ) ;
try {
Something sth = clazz.newInstance ( ) ;
e.
printStackTrace ( System .
out ) ; }
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCWludGVyZmFjZSBJRmFjZTxUPiB7fQoJc3RhdGljIGNsYXNzIFNvbWV0aGluZyBpbXBsZW1lbnRzIElGYWNlPFN0cmluZz4ge30KCQoJc3RhdGljIGNsYXNzIFdoYXRldmVyIHsKCQlwcm90ZWN0ZWQgPEMgZXh0ZW5kcyBJRmFjZTw/Pj4gQ2xhc3M8Qz4gZ2V0Q2xhenooKSB7CgkJCXJldHVybiAoQ2xhc3M8Qz4pIChDbGFzcykgSUZhY2UuY2xhc3M7CgkJfQoJfQoJCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKICAgIAlDbGFzczxTb21ldGhpbmc+IGNsYXp6ID0gbmV3IFdoYXRldmVyKCkuZ2V0Q2xhenooKTsKICAgIAl0cnkgewogICAgCQlTb21ldGhpbmcgc3RoID0gY2xhenoubmV3SW5zdGFuY2UoKTsKICAgIAl9IGNhdGNoIChFeGNlcHRpb24gZSkgewogICAgCQllLnByaW50U3RhY2tUcmFjZShTeXN0ZW0ub3V0KTsKICAgIAl9Cgl9Cn0=