Object execute(Object[] args) throws RequestException {
try {
return method.invoke(instance, (Object[]) args);
} catch (IllegalArgumentException e) {
throw new RequestException(e);
} catch (IllegalAccessException e) {
throw new RequestException(e);
} catch (InvocationTargetException e) {
throw new RequestException(e.getTargetException());
}
}