throw new IllegalArgumentException("Constructors and methods may not have the same name" +
" [" + name + "] within the same struct [" + owner.name + "].");
}
final Class<?>[] classes = new Class<?>[args.length];
for (int count = 0; count < classes.length; ++count) {
<BUG>if (genargs != null) {
try {
genargs[count].clazz.asSubclass(args[count].clazz);
} catch (final ClassCastException exception) {</BUG>
throw new ClassCastException("Generic argument [" + genargs[count].name + "]" +

throw new IllegalArgumentException("Constructors and methods may not have the same name" +
" [" + name + "] within the same struct [" + owner.name + "].");
}
final Class<?>[] classes = new Class<?>[args.length];
for (int count = 0; count < classes.length; ++count) {
if (genargs != null) {
if (!args[count].clazz.isAssignableFrom(genargs[count].clazz)) {
throw new ClassCastException("Generic argument [" + genargs[count].name + "]" +
