docs: function getPerformOpenAllScanIteration(bundle) {
          return function performOpenAllScanIteration(scanMethod, cb) {
              var dt = scanMethod.deviceType;
              var ct = scanMethod.connectionType;
              var requiredInfo = scanMethod.addresses;
  
              function onErr(err) {
                  cb();
              }
              function onSuccess(openAllData) {
                  var erroniusDevices = parseOutErroniusDevices(openAllData);
                  erroniusDevices.forEach(function(dev) {
                      bundle.erroniusDevices.push(dev);
                  });
  
                  debugOpenAllResults('OpenAll...', openAllData, dt, ct);
                  var stopTime = new Date();
                  var deltaTime = parseFloat(((stopTime - startTime)/1000).toFixed(2));
                  debugSS('Successfully called OpenAll', deltaTime);
                  debugLJMCalls('Successfully called OpenAll', deltaTime);
                  debugOpenAll('Successfully called OpenAll', deltaTime);
                  var openedHandles = openAllData.handles;
  
                  var openedDevices = [];
                  openedHandles.forEach(function(openedHandle) {
                      openedDevices.push({
                          'handle': openedHandle,
                      });
                  });
  
  
                  /* openedHandles is an array of objects aka [ {handle: 0}, {handle: 1}, ... ] */
                  debugOpenAll('OpenAll Finished, in onSuccess, data:', dt, ct, openAllData);
  
                  // Build an array of promises indicating when all opened devices are finished being opened.
                  var promises = openedDevices.map(function(openedDevice) {
                      var openInfo = {
                          'deviceType': dt,
                          'connectionType': ct,
                          'identifier': 'LJM_idANY',
                      };
                      debugOpenAll('Managing device...', openedDevice);
                      var promise = self.deviceManager.addDevice(
                          openedDevice,
                          requiredInfo,
                          openInfo
                      );
                      return promise;
                  });
  
  
                  // When all devices have been added to the device manager we can return.
                  q.allSettled(promises)
                  .then(function() {
                      cb();
                  }, function(err) {
                      console.error('Error in performOpenAllScanIteration', err);
                      cb();
                  });
              }
              var startTime = new Date();
              debugLJMCalls('Calling OpenAll', dt, ct);
  
              if(LIVE_DEVICE_SCANNING_ENABLED) {
                  // Execute the LJM openAll function.
                  self.driver.openAll(dt, ct, onErr, onSuccess);
              } else {
                  mockDeviceScanningLib.openAll(dt, ct, onErr, onSuccess);
              }
          }
      }