class BankDetailsServiceImpl implements BankDetailsService {

    @Override
    @Transactional
    public ServiceResult<Void> updateBankDetails(ProjectOrganisationCompositeId projectOrganisationCompositeId, BankDetailsResource bankDetailsResource) {
        Address address = toExperianAddressFormat(bankDetailsResource.getAddress());
        AccountDetails accountDetails = new AccountDetails(
                bankDetailsResource.getSortCode(),
                bankDetailsResource.getAccountNumber(),
                bankDetailsResource.getCompanyName(),
                bankDetailsResource.getRegistrationNumber(),
                address
        );
        return updateExistingBankDetails(accountDetails, bankDetailsResource).andOnSuccessReturnVoid();
    }

}