class SW360ProjectClientAdapterAsyncImpl implements SW360ProjectClientAdapterAsync {

    @Override
    public CompletableFuture<Optional<SW360Project>> getProjectByNameAndVersion(String projectName, String projectVersion) {
        ProjectSearchParams nameSearchParams = ProjectSearchParams.builder()
                .withName(projectName)
                .build();
        return getProjectClient().search(nameSearchParams)
                .thenApply(projects -> projects.stream()
                        .filter(pr -> SW360ProjectAdapterUtils.hasEqualCoordinates(pr, projectName, projectVersion))
                        .findAny());
    }

    public  SW360ProjectClientAdapterAsyncImpl(SW360ProjectClient client);

}