docs: Set<ProbeListener> buildListenersFromAnnotated(Object monitor) {
          Set<ProbeListener> listeners = new HashSet<ProbeListener>();
  
          Class<?> clazz = monitor.getClass();
          for (Method method : ReflectionHelper.getMethods(clazz)) {
              ProbeSite probeSite = method.getAnnotation(ProbeSite.class);
              if (probeSite == null) {
                  continue;
              }
              synchronized (notMonitorable) {
                  Class<?> rClass = null;
                  for (Class<?> tClass : notMonitorable) {
                      if (tClass != null && ((tClass.getName()).equals(probeSite.clazz()))) {
                          rClass = tClass;
                          monitorable.add(tClass);
                          break;
                      }
                  }
                  if (rClass != null) {
                      notMonitorable.remove(rClass);
                  }
              }
              // TODO: Handle monitoring groups
              Monitor monitorData = clazz.getAnnotation(Monitor.class);
              ListenerConfiguration config = new ListenerConfiguration(monitorData, probeSite, method);
              //            ProbeListener listener = new ProbeListener(this, config, monitor, method);
              ProbeListener listener = new ProbeListener(null, config, monitor, method);
              listeners.add(listener);
          }
  
          return listeners;
      }