private synchronized void initDynamicDefaults(IndexWriter writer) throws IOException {
   if (maxThreadCount == AUTO_DETECT_MERGES_AND_THREADS) {
     boolean spins = IOUtils.spins(writer.getDirectory());
     setDefaultMaxMergesAndThreads(spins);
     if (verbose()) {
       message(
           "initDynamicDefaults spins="
               + spins
               + " maxThreadCount="
               + maxThreadCount
               + " maxMergeCount="
               + maxMergeCount);
     }
   }
 }