code: public synchronized <T> void register(Monitorable<T> monitorable) {
          if (monitorables.containsKey(monitorable.getName())) {
              throw new UnsupportedOperationException(
                      "There is already an instance of the Monitorable [" + monitorable.getName()
                      + "] registered.");
          }
          monitorables.put(monitorable.getName(), monitorable);
          notifyListenersOfNewMonitorable(monitorable);
      }
docs: Informs this MonitorableRegistry of a new {@link Monitorable}; that
  Monitorable will be added to the registry, assuming no Monitorable with
  the same name has previously been registered.
  
  @throws UnsupportedOperationException
  if the name of the provided monitorable has already been
  registered