IllegalAccessException, IllegalArgumentException, InvocationTargetException {
Class<?> clazz = getTypeClass();
Constructor ctr;
Object o;
Fault fault = context.getFault();
try {
ctr = clazz.getConstructor(new Class[] {String.class, Throwable.class});
o = ctr.newInstance(new Object[] {fault.getMessage(), fault});
} catch (NoSuchMethodException e) {
try {
ctr = clazz.getConstructor(new Class[] {String.class, Exception.class});
o = ctr.newInstance(new Object[] {fault.getMessage(), fault});
} catch (NoSuchMethodException e1) {
try {
ctr = clazz.getConstructor(new Class[] {String.class});
o = ctr.newInstance(new Object[] {fault.getMessage()});
} catch (NoSuchMethodException e2) {
return clazz.newInstance();
}
}
}