code: public void each(ObjectName pObjectName, MBeanEachCallback pCallback) throws IOException, ReflectionException, MBeanException {
          try {
              Set<ObjectName> visited = new HashSet<ObjectName>();
              for (MBeanServerConnection server : getMBeanServers()) {
                  // Query for a full name is the same as a direct lookup
                  for (ObjectName nameObject : server.queryNames(pObjectName, null)) {
                      // Don't add if already visited previously
                      if (!visited.contains(nameObject)) {
                          pCallback.callback(server, nameObject);
                          visited.add(nameObject);
                      }
                  }
              }
          } catch (InstanceNotFoundException exp) {
              // Well, should not happen, since we do a query before and the returned value are supposed to exist
              // on the mbean-server. But, who knows ...
              throw new IllegalArgumentException("Cannot find MBean " +
                                                 (pObjectName != null ? "(MBean " + pObjectName + ")" : "") + ": " + exp,exp);
          }
      }
docs: {@inheritDoc}