docs: public void doCBAComplexityFromTransaction(@Nullable final InvoiceModelDao invoice,
                                                 final List<Tag> invoicesTags,
                                                 final EntitySqlDaoWrapperFactory entitySqlDaoWrapperFactory,
                                                 final InternalCallContext context) throws EntityPersistenceException, InvoiceApiException {
          // PERF: It is expensive to retrieve and construct all invoice objects. To check if there is effectively something to use, compute the CBA by the database first
          BigDecimal remainingAccountCBA = getAccountCBAFromTransaction(entitySqlDaoWrapperFactory, context);
  
          if (invoice != null) {
              // Generate or use CBA for that specific invoice
              remainingAccountCBA = computeCBAComplexityAndCreateCBAItem(remainingAccountCBA, invoice, entitySqlDaoWrapperFactory, context);
          }
  
          useExistingCBAFromTransaction(remainingAccountCBA, invoicesTags, entitySqlDaoWrapperFactory, context);
      }