code: @Bean
      @ConditionalOnMissingBean
      DistributionSetManagement distributionSetManagement(final EntityManager entityManager,
              final DistributionSetRepository distributionSetRepository,
              final DistributionSetTagManagement distributionSetTagManagement, final SystemManagement systemManagement,
              final DistributionSetTypeManagement distributionSetTypeManagement, final QuotaManagement quotaManagement,
              final DistributionSetMetadataRepository distributionSetMetadataRepository,
              final TargetFilterQueryRepository targetFilterQueryRepository, final ActionRepository actionRepository,
              final NoCountPagingRepository criteriaNoCountDao, final ApplicationEventPublisher eventPublisher,
              final BusProperties bus, final TenantAware tenantAware,
              final VirtualPropertyReplacer virtualPropertyReplacer,
              final SoftwareModuleRepository softwareModuleRepository,
              final DistributionSetTagRepository distributionSetTagRepository,
              final AfterTransactionCommitExecutor afterCommit, final JpaProperties properties) {
          return new JpaDistributionSetManagement(entityManager, distributionSetRepository, distributionSetTagManagement,
                  systemManagement, distributionSetTypeManagement, quotaManagement, distributionSetMetadataRepository,
                  targetFilterQueryRepository, actionRepository, criteriaNoCountDao, eventPublisher, bus, tenantAware,
                  virtualPropertyReplacer, softwareModuleRepository, distributionSetTagRepository, afterCommit,
                  properties.getDatabase());
  
      }
docs: {@link JpaDistributionSetManagement} bean.
  
  @return a new {@link DistributionSetManagement}