code: public static Object invokeTarget(Object target, Method method, Object[] args,
  			final String requestName) throws IllegalAccessException, InvocationTargetException {
  		boolean systemError = false;
  		try {
  			SERVICES_COUNTER.bindContextIncludingCpu(requestName);
  			return method.invoke(target, args);
  		} catch (final InvocationTargetException e) {
  			if (e.getCause() instanceof Error) {
  				// on catche Error pour avoir les erreurs systèmes
  				// mais pas Exception qui sont fonctionnelles en général
  				systemError = true;
  			}
  			throw e;
  		} finally {
  			// on enregistre la requête dans les statistiques
  			SERVICES_COUNTER.addRequestForCurrentContext(systemError);
  		}
  	}
docs: Invoke target.
  @param target Instance to call
  @param method Method to call
  @param args Method arguments
  @param requestName Request name to display
  @return Result
  @throws IllegalAccessException e
  @throws InvocationTargetException e