/* 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
{
static class IFace<T> {}
protected static <C extends IFace<?>> Class<C> getClazz() {
return (Class<C>) (Class) IFace.class;
}
{
class Something extends IFace<String> {}
Class<Something> clazz = getClazz();
Something sth = clazz.newInstance();
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXN0YXRpYyBjbGFzcyBJRmFjZTxUPiB7fQogICAgCQogIAlwcm90ZWN0ZWQgc3RhdGljIDxDIGV4dGVuZHMgSUZhY2U8Pz4+IENsYXNzPEM+IGdldENsYXp6KCkgewogICAgCXJldHVybiAoQ2xhc3M8Qz4pIChDbGFzcykgSUZhY2UuY2xhc3M7CiAgCX0KICAJCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKICAgIAljbGFzcyBTb21ldGhpbmcgZXh0ZW5kcyBJRmFjZTxTdHJpbmc+IHt9CiAgICAJQ2xhc3M8U29tZXRoaW5nPiBjbGF6eiA9IGdldENsYXp6KCk7CiAgICAJU29tZXRoaW5nIHN0aCA9IGNsYXp6Lm5ld0luc3RhbmNlKCk7Cgl9Cn0=