class SpaceContributorsListServiceImpl implements ContributorsListService {

    @Override
    public void saveContributors(final List<Contributor> contributors,
                                 final Runnable successCallback,
                                 final ErrorCallback<Message> errorCallback) {
        organizationalUnitService.call((OrganizationalUnit organizationalUnit) -> {
            organizationalUnitService.call((OrganizationalUnit newOrganizationalUnit) -> {
                successCallback.run();
                afterEditOrganizationalUnitEvent.fire(new AfterEditOrganizationalUnitEvent(organizationalUnit,
                                                                                           newOrganizationalUnit));
            }, errorCallback).updateOrganizationalUnit(organizationalUnit.getName(),
                                                       organizationalUnit.getDefaultGroupId(),
                                                       contributors);
        }).getOrganizationalUnit(libraryPlaces.getActiveSpace().getName());
    }

    @Inject public  SpaceContributorsListServiceImpl(final LibraryPlaces libraryPlaces,
                                            final Caller<OrganizationalUnitService> organizationalUnitService,
                                            final Event<AfterEditOrganizationalUnitEvent> afterEditOrganizationalUnitEvent,
                                            final Caller<LibraryService> libraryService,
                                            final SessionInfo sessionInfo,
                                            final OrganizationalUnitController organizationalUnitController,
                                            final ContributorsSecurityUtils contributorsSecurityUtils,
                                            final Promises promises);

}