code: public <T> T call(ObjectName pObjectName, MBeanAction<T> pMBeanAction, Object ... pExtraArgs)
              throws IOException, ReflectionException, MBeanException, AttributeNotFoundException, InstanceNotFoundException {
          InstanceNotFoundException objNotFoundException = null;
          for (MBeanServerConnection server : getMBeanServers()) {
              // Only the first MBeanServer holding the MBean wins
              try {
                  // Still to decide: Should we check eagerly or let an InstanceNotFound Exception
                  // bubble ? Exception bubbling was the former behaviour, so it is left in. However,
                  // it would be interesting how large the performance impact is here. All unit tests BTW are
                  // prepared for switching the guard below on or off.
  
                  //if (server.isRegistered(pObjectName)) {
                  return pMBeanAction.execute(server, pObjectName, pExtraArgs);
                  //}
              } catch (InstanceNotFoundException exp) {
                  // Remember exceptions for later use
                  objNotFoundException = exp;
              }
          }
  
          // Must be != null, otherwise we would not have left the loop
          throw objNotFoundException;
  
          // When we reach this, no MBeanServer know about the requested MBean.
          // Hence, we throw our own InstanceNotFoundException here
  
          //throw exception != null ?
          //        new IllegalArgumentException(errorMsg + ": " + exception,exception) :
          //        new IllegalArgumentException(errorMsg);
      }
docs: {@inheritDoc}