@SuppressWarnings("unchecked")
    @NonNull <Context, Result> ServiceRepository<Context, Result> getRepository(
            final @NonNull TypeToken<? extends Service<Context, Result>> type
    ) {
        final ServiceRepository<Context, Result> repository =
                (ServiceRepository<Context, Result>) this.repositories.get(type.getType());
        if (repository == null) {
            throw new IllegalArgumentException(
                    String.format("No service registered for type '%s'", type.getType().getTypeName()));
        }
        return repository;
    }
Start traversing the pipeline by providing the context that will be used to generate the
results

@param context   Context
@param <Context> Context type
@return Service pumper instance
cloud-services/src/main/java/org/incendo/cloud/services/ServicePipeline.java