docs: private void handleException(final Exception e) {
      // make sure only one scanner can set the exception
      finished_multi_get_cnt.incrementAndGet();
      if (exception == null) {
        synchronized (this) {
          if (exception == null) {
            exception = e;
            // fail once and fast on the first scanner to throw an exception
            try {
              if (exception != null) {
                mergeAndReturnResults();
              }
            } catch (Exception ex) {
              
              LOG.error("Failed merging and returning results, "
                  + "calling back with exception", ex);
                results.callback(ex);
  
            }
          } else {
            // TODO - it would be nice to close and cancel the other scanners but
            // for now we have to wait for them to finish and/or throw exceptions.
            LOG.error("Another scanner threw an exception", e);
          }
        }
      }
    }