code: @Override
      protected S addService(S service, ServiceProperties props) {
          if (reference.compareAndSet(null, service)) {
              return service;
          }
          return null;
      }
docs: ----------------------------------------------------------------------------------------------------------------------