code: public final void readyForData()
      {
          m_starting.compareAndSet(false, true);
  
          if (m_stopping) return;
  
          if (m_executorService != null) { // Should be caused by coding error. Generic RuntimeException is OK
              throw new RuntimeException("Importer has already been started and is running");
          }
  
          if (m_configs.size()==0) {
              s_logger.info("No configured importers of " + m_factory.getTypeName() + " are ready to be started at this time");
              return;
          }
  
          ThreadPoolExecutor tpe = new ThreadPoolExecutor(
                  m_configs.size(),
                  m_configs.size(),
                  5_000,
                  TimeUnit.MILLISECONDS,
                  new LinkedBlockingQueue<Runnable>(),
                  getThreadFactory(m_factory.getTypeName(), MEDIUM_STACK_SIZE)
                  );
          tpe.allowCoreThreadTimeOut(true);
  
          m_executorService = MoreExecutors.listeningDecorator(tpe);
  
          if (m_factory.isImporterRunEveryWhere()) {
              ImmutableMap.Builder<URI, AbstractImporter> builder = new ImmutableMap.Builder<>();
              for (final ImporterConfig config : m_configs.values()) {
                  AbstractImporter importer = m_factory.createImporter(config);
                  builder.put(importer.getResourceID(), importer);
              }
              m_importers.set(builder.build());
              startImporters(m_importers.get().values());
          } else {
              m_importers.set(ImmutableMap.<URI, AbstractImporter> of());
              m_distributer.registerCallback(m_distributerDesignation, this);
              m_distributer.registerChannels(m_distributerDesignation, m_configs.keySet());
          }
      }
docs: This method is used by the framework to indicate that the importers must be started now.
  This implementation starts the required number of threads based on the number of resources
  configured for this importer type.
  <p>For importers that must be run on every site, this will also call
  <code>accept()</code>.
  For importers that must not be run on every site, this will register itself with the
  resource distributer.