| class ClassExt { | |
| /** @noinspection UnusedDeclaration*/ | |
| public static <T, P1, P2> T newInstance(Class<T> clazz, | |
| Class<? super P1> t1, P1 p1, | |
| Class<? super P2> t2, P2 p2) { | |
| return null; | |
| } | |
| } | |
| abstract class TKey<T> { | |
| protected abstract Class<T> getType(); | |
| } | |
| class GoodIsRed6 { | |
| public static <TK extends TKey<?>> TK createClone(TK tkey, String key) { | |
| Class<TK> clazz = null; | |
| return ClassExt.newInstance(clazz, String.class, key, Class.class, tkey.getType()); | |
| } | |
| } |