code: @Override
      public void addObserver(final Observer<S, T> observer) {
          synchronized (OBSERVER_LOCK) {
              if (observers.contains(observer)) {
                  LOGGER.warn("Skip observer registration. Observer[" + observer + "] is already registered!");
                  return;
              }
              observers.add(observer);
          }
      }
docs: {@inheritDoc}
  
  @param observer {@inheritDoc}