code: @Override
      protected L addService(L service, ServiceProperties props) {
          L decorated = decorator.apply(service, props);
          if (decorated != null) {
              listenerSupport.addListener(decorated);
          }
          return decorated;
      }
docs: ----------------------------------------------------------------------------------------------------------------------