@Override
  public Optional<DevOpsProjectCreator> getDevOpsProjectCreator(DbSession dbSession, Map<String, String> characteristics) {
    return delegates.stream()
      .flatMap(delegate -> delegate.getDevOpsProjectCreator(dbSession, characteristics).stream())
      .findFirst();
  }
@Test
  public void getDevOpsProjectDescriptor_whenOneDelegatesReturningACreator_shouldDelegate() {
    DevOpsProjectCreatorFactory successfulDelegate = mock();
    DevOpsProjectCreator devOpsProjectCreator = mock();
    when(successfulDelegate.getDevOpsProjectCreator(DB_SESSION, CHARACTERISTICS)).thenReturn(Optional.of(devOpsProjectCreator));
    DelegatingDevOpsProjectCreatorFactory delegates = new DelegatingDevOpsProjectCreatorFactory(Set.of(mock(), successfulDelegate));

    assertThat(delegates.getDevOpsProjectCreator(DB_SESSION, CHARACTERISTICS)).contains(devOpsProjectCreator);
  }