/*
  * (non-Javadoc)
  *
  * @see javax.management.DynamicMBean#invoke(java.lang.String,
  * java.lang.Object[], java.lang.String[])
  */
 @Override
 public Object invoke(String actionName, Object[] params, String[] signature)
     throws MBeanException, ReflectionException {
   if (nameToOperation.containsKey(actionName)) {
     try {
       Method method = target.getClass().getMethod(actionName);
       method.invoke(target);
     } catch (SecurityException e) {
       logger.error(e);
     } catch (NoSuchMethodException e) {
       logger.error(e);
     } catch (IllegalArgumentException e) {
       logger.error(e);
     } catch (IllegalAccessException e) {
       logger.error(e);
     } catch (InvocationTargetException e) {
       logger.error(e);
     }
   } else {
     logger.warn("Try to call non existend operation " + actionName + " on " + target.getClass());
   }
   return null;
 }