I have class with `String[]` constructor (no default constructors):

I need to dynamically construct an instance by name:

```
package tests;

import java.lang.reflect.Constructor;

interface I {

}

class A implements I {
    public A(String[] args) {
        System.out.printf("Args = %s", args.toString());
    }
}

public class DynaCon {
    public static void main(String[] args) throws Exception {
        @SuppressWarnings("unchecked")
        Class<I> clz = (Class<I>) Class.forName("tests.A");
        Constructor<I> ctr = clz.getDeclaredConstructor(args.getClass());
        ctr.newInstance(args);
    }

}

```

Why is IllegalArgumentException raised?