} catch (IllegalAccessException e) {
throw new RuntimeException("cannot instantiate " + cls, e);
} catch (InvocationTargetException e) {
throw new RuntimeException("cannot instantiate " + cls, e);
}
return method.doMethodInvoke(self, objs);
}
};
} catch (NoSuchMethodException e) {
/* no constructor avaialble, ignore */
}