class SW360ProjectClientAdapterAsyncImpl implements SW360ProjectClientAdapterAsync {

    @Override
    public CompletableFuture<Void> addSW360ReleasesToSW360Project(String id, Collection<SW360Release> releases) {
        List<String> releaseLinks = releases.stream()
                .map(SW360Release::getLinks)
                .filter(Objects::nonNull)
                .map(LinkObjects::getSelf)
                .filter(Objects::nonNull)
                .map(Self::getHref)
                .collect(Collectors.toList());
        return getProjectClient().addReleasesToProject(id, releaseLinks);
    }

    public  SW360ProjectClientAdapterAsyncImpl(SW360ProjectClient client);

}