<T extends Service<Context, Response>> void registerImplementation(
            final @NonNull T service,
            final @NonNull Collection<Predicate<Context>> filters
    ) {
        synchronized (this.lock) {
            this.implementations.add(new ServiceWrapper<>(service, filters));
        }
    }
Register a new implementation for the service

@param service Implementation
@param filters Filters that will be used to determine whether or not the service gets used
@param <T>     Type of the implementation
cloud-services/src/main/java/org/incendo/cloud/services/ServiceRepository.java