code: @Bean
      @ConditionalOnMissingBean
      // don't active the auto assign scheduler in test, otherwise it is hard to
      // test
      @Profile("!test")
      @ConditionalOnProperty(prefix = "hawkbit.autoassign.scheduler", name = "enabled", matchIfMissing = true)
      AutoAssignScheduler autoAssignScheduler(final TenantAware tenantAware, final SystemManagement systemManagement,
              final SystemSecurityContext systemSecurityContext, final AutoAssignChecker autoAssignChecker,
              final LockRegistry lockRegistry) {
          return new AutoAssignScheduler(systemManagement, systemSecurityContext, autoAssignChecker, lockRegistry);
      }
docs: {@link AutoAssignScheduler} bean.
  
  Note: does not activate in test profile, otherwise it is hard to test the
  auto assign functionality.
  
  @param tenantAware
  to run as specific tenant
  @param systemManagement
  to find all tenants
  @param systemSecurityContext
  to run as system
  @param autoAssignChecker
  to run a check as tenant
  @param lockRegistry
  to lock the tenant for auto assignment
  @return a new {@link AutoAssignChecker}