class RestSilCrmEndpoint implements SilCrmEndpoint {

    @Override
    public ServiceResult<Void> updateContact(SilContact silContact) {
        return handlingErrors(() -> {
                    final Either<ResponseEntity<SilCrmError>, ResponseEntity<Void>> response = adaptor.restPostWithEntity(silRestServiceUrl + silCrmContacts, silContact, Void.class, SilCrmError.class, HttpStatus.ACCEPTED);
                    return response.mapLeftOrRight(failure -> {
                                LOG.error("Error updating SIL contact " + silContact);
                                return serviceFailure(new Error(CONTACT_NOT_UPDATED));
                            },
                            success -> serviceSuccess());
                }
        );
    }

}