code: function bootstrapAdapters( services, adapterModules, artifacts ) {
  
     const adapterServices = {
        adapterUtilities: services.adapterUtilities,
        artifactProvider: services.artifactProvider,
        configuration: services.configuration,
        flowService: services.flowService,
        globalEventBus: services.globalEventBus,
        debugEventBus: services.debugEventBus,
        heartbeat: services.heartbeat,
        log: services.log,
        storage: services.storage,
        tooling: services.tooling,
        // TODO (https://github.com/LaxarJS/laxar/issues/363 and https://github.com/LaxarJS/laxar/issues/397)
        // Fixing the latter issue broke laxar-mocks, since it could no longer access the widget loader.
        // To temporarily fix this, we re-add the widget loader to the exposed services.
        // Nevertheless on the medium /short term we want to be able to load single widgets into the page
        // (the first issue above) and use the api that will be created for this in laxar-mocks.
        widgetLoader: services.widgetLoader
     };
  
     const { log } = services;
     const adapterModulesByTechnology = {};
     const artifactsByTechnology = {};
  
     adapterModules.forEach( module => {
        adapterModulesByTechnology[ module.technology ] = module;
        artifactsByTechnology[ module.technology ] = { widgets: [], controls: [] };
     } );
  
     [ 'widgets', 'controls' ].forEach( type => {
        artifacts[ type ].forEach( artifact => {
           const { technology } = artifact.descriptor.integration;
           if( !adapterModulesByTechnology[ technology ] ) {
              const { name } = artifact.descriptor;
              log.fatal( 'Unknown integration technology: [0], required by "[1]"', technology, name );
              return;
           }
           artifactsByTechnology[ technology ][ type ].push( artifact );
        } );
     } );
  
     const adaptersByTechnology = {};
     Object.keys( adapterModulesByTechnology ).forEach( technology => {
        const adapterModule = adapterModulesByTechnology[ technology ];
        const artifacts = artifactsByTechnology[ technology ];
        adaptersByTechnology[ technology ] = adapterModule.bootstrap( artifacts, adapterServices );
     } );
     return adaptersByTechnology;
  }
docs: ////////////////////////////////////////////////////////////////////////////////////////////////////////////