docs: private static void
      prepSymbolsListAndMap(SymbolTable priorSymtab, Iterator<String> symbols,
                            List<String> symbolsList,
                            Map<String, Integer> symbolsMap)
      {
          int sid = 1;
  
          // Collect from passed-in priorSymtab
          if (priorSymtab != null)
          {
              Iterator<String> priorSymbols =
                  priorSymtab.iterateDeclaredSymbolNames();
              while (priorSymbols.hasNext())
              {
                  String text = priorSymbols.next();
                  if (text != null)
                  {
                      assert text.length() > 0;
                      putToMapIfNotThere(symbolsMap, text, sid);
                  }
  
                  // NB: Null entries must be added in the sid sequence
                  //     to retain compat. with the prior version.
                  symbolsList.add(text);
  
                  sid++;
              }
          }
  
          // Collect from passed-in symbols
          while (symbols.hasNext())
          {
              String text = symbols.next();
              // TODO amzn/ion-java/issues/12 What about empty symbols?
              if (symbolsMap.get(text) == null)
              {
                  putToMapIfNotThere(symbolsMap, text, sid);
                  symbolsList.add(text);
                  sid++;
              }
          }
      }