code: public <S> S add(S service)
      {
          Check.notNull(service);
          servicesSet.add(service);
          return service;
      }
docs: Add a service.
  <p>
  The returned service will allow to add a service and keep its reference for an easy final initialization:
  </p>
  
  <pre>
  final Services services = new Services();
  final Text text = services.add(Graphics.createText(Text.SANS_SERIF, 9, TextStyle.NORMAL));
  </pre>
  
  <p>
  An equivalent code could be:
  </p>
  
  <pre>
  final Text text = Graphics.createText(Text.SANS_SERIF, 9, TextStyle.NORMAL);
  ...
  services.add(text);
  </pre>
  
  @param <S> The service type.
  @param service The service to add.
  @return The added service (same as source).
  @throws LionEngineException If service is <code>null</code>.